INFINITY -数学とかプログラミングとか-

統計とプログラムを使って役に立たせたい

TeX用コマンド入力を支援するための辞書をご利用ください。
sanctuary's blogは,適当なことが書いてあります。

R

Gabor function

R

########################### #Gabor function real part gabor_r = function(x){ exp(-alpha^2*(x-x0)^2)*(cos(2*Pi*beta*(x-x0)+gamma)) } #Gabor function imaginary part gabor_i = function(x){ exp(-alpha^2*(x-x0)^2)*(sin(2*Pi*beta*(x-x0)+gamma)) …

確率的最急勾配法

R

1つのwのみ。 #確率的最急勾配法 f<-file("rnorm_data.txt","r") data=function(){ a<-readLines(con=f,1) b=unlist(strsplit(a, "\\,")) # 文字 "," で分割 return(as.numeric(b)) } #data()#ファイルの1行目が読み込まれる #data()#ファイルの2行目が読み…

rnorm()によるデータ作成

R

getwd() setwd("作業ディレクトリ") N=1000 out <- file("rnorm_data.txt", "w") # 書き込みモードで開く for(cnt in 1:N){ x=rnorm(5) for(i in 1:length(x)){ if (i < 5) writeLines(paste(x[i]),out,sep=", ") else if(i==5) writeLines(paste(x[i]),out,…

一般化ガウス族のネゲントロピーに関する考察

#一般化ガウス族(GGF) p=function(xi){ (1/(2*a^(1/a-1)*gamma(1/a)))*exp(-abs(xi)^a/a) } a=2 mean=(a^(1/a))*(gamma(2/a)/gamma(1/a)) var=(a^(2/a))*(gamma(3/a)/gamma(1/a))-((a^(1/a))*(gamma(2/a)/gamma(1/a)))^2 Gauss = function(x){ (1/sqrt(2*pi*…

R

ubuntu ソフトフェアセンターでr-base-coreをインストール。 r-base-core: Depends: libgfortran3 (>= 4.3) しかし、4.6.3-1ubuntu5 はインストー\ ルされます Depends: libgomp1 (>= 4.2.1) しかし、4.6.3-1ubuntu5 はインストール\ されます Depends: libj…

R

data<-read.csv("data.csv",row.names=1) 行の名前をdata.csvの1行目に書いてある時にrow.names=1とする。 setwd("c:/usr") # 作業ディレクトリを変更する getwd() # 現在の作業ディレクトリを確認する

エントロピー

R

p=seq(0,1,length=1000) f=function(p){ -p*log(p) } plot(p,f(p),xlab="p",ylab="entropy",xlim=c(0,1),ylim=c(0,0.5),type="l") 確率変数Xが取り得る値が8で確率が、 (1/2,1/4,1/8,1/16,1/64,1/64,1/64,1/64)であるとする。この時、Entropyは、以下のよう…

一般化ガウス族または指数べき乗族?

R

が一般化ガウス族または指数べき乗族と言われる族に属する密度関数というらしい。(まだ、この正体が不明なので調査中) の辺が理解不能なので、試しに、 の図を描いてみた。vを0.1~1まで0.1刻みで。 x=seq(-2,2,length=50) y=seq(-1,2,length=50) for(i in 1:…

plot

R

plotが変。あとで書こう。 x=seq(-15,15,length=500) lambda=0.8 laplace=function(x){ (lambda/2)*exp(-lambda*abs(x)) } plot(x,laplace(x),type='l',ylim=c(0,0.4)) par(new=T) lambda=0.6 plot(x,laplace(x),type='l',ylim=c(0,0.4)) par(new=T) lambda=…

共分散が0に近い

R

#共分散が0 x=rnorm(1000) y=rnorm(1000) plot(x,y) cov(x,y) #-0.004686349 共分散というのは、線形関係が見られるかどうかを見ているようです。例えば、原点を通る2次曲線上のある点と対称となる点も考え、共分散を計算すると0になります。これは、曲線関…

結合密度関数

R

x=seq(-15,15,length=50) y=seq(-15,15,length=50) pdf=function(x,y){ return((1/(2*pi*70))*exp(-(1/2)*(((x-(-1))^2)/49))*exp((-1/2)*(((y-3)^2)/10))) } z=matrix(0,50,50) #z for(i in 1:50){ for(j in 1:50){ z[i,j]=pdf(x[i],y[j]) } } persp(x,y,z,…

例の密度関数

R

#pdf x=seq(-0.5,2.5,length=50) y=seq(-0.5,1.5,length=50) pdf=function(x,y){ if(((0<=x)&&(x<=2))&&((0<=y)&&(y<=1))){ (3/7)*(2-x)*(x+y) }else{ return(0) } } z=matrix(0,50,50) z for(i in 1:50){ for(j in 1:50){ z[i,j]=pdf(x[i],y[j]) } } persp(…

Rotateしたい.

Rの方が簡単に書ける(他に書けんの(ry )ので、気晴らしにコードを描いてみた。まず,特定のドミノを一箇所回転するrt関数を作成した.例えば,rt(x1,x2)で(x1,x2)を局所変形できる.".csv"で保存してくれる.(同じ要素を指定すると上書きしてしまうので注意が必要…

PCA

R pca

#Copyright(c) Hiroshi Tashiro data<-source("なんとか.なんとか")$value data data=t(data) data # #相関行列 data.cor=cor(t(data)) data.cor X=data X Xvar=function(X){ return((1/n)*rowSums(X))#各行の和 } xvar=Xvar(X) xvar#標本平均ベクトル n=nco…

Tip

R

dat[,1]が名前として与えられているときに、datの行の名前を書き換えるときは、以下のようにする。 for(i in 1:392){ rownames(dat)[i]=sprintf("%03d%s",i,dat[i,1]) } rownames(dat) 他に方法があるのかもしれないが、一例。

Rotateしたい。(全パターンじゃないけど)

R

kernel function

ノルム: norm=function(x){ return(sqrt(t(x)%*%x)) } 線形カーネル(標準内積) linearKernel=function(x1,x2){ return (t(x1)%*%x2) } x1=c(1,2) x2=c(3,4) linearKernel(x1,x2) >11 正規化線形カーネル (normalized linear kernel) normalizedLinearKernel…

function

R

inprd=function(x,y){ return(t(x)%*%y)#x,y must be col vectors. } inprd(x,y) norm=function(x){ return(sqrt(t(x)%*%x)) } norm(x)

waveform data

R pca

#Copyright(c) Hiroshi Tashiro #waveform data(p240) h1=function(j){ return(max(6-abs(j-11),0)) } h2=function(j){ return(h1(j-4)) } h3=function(j){ return(h1(j+4)) } epsilon=rnorm(21,0,1) epsilon class1=matrix(,nrow=21,ncol=100) for(i in 1:1…

R 統計

R

1. コメントアウト コメントアウトは以下のように行う. 一行の場合 # コメントアウトしたい内容 複数行の場合 if(0) { コメントアウトしたい内容 } #pdf("hoge.pdf") #par(family="Japan1GothicBBB") 恒久的に設定する方法デスクトップ上にあるRのアイコン…