#グラフラプラシアン
#関係データ学習 機械学習シリーズ
data=data.frame(num=1:20,y=c(167,167.5,168.4,172,155.3,151.4,163,174,168,160.4,164.7,171,162.6,164.8,163.3,167.6,169.2,168,167.4,172),x1=c(84,87,86,85,82,87,92,94,88,84.9,78,90,88,87,82,84,86,83,85.2,82),x2=c(61,55.5,57,57,50,50,66.5,65,60.5,49.5,49.5,61,59.5,58.4,53.5,54,60,58.8,54,56))
n=nrow(data)
mat_data=as.matrix(data[,colnames(data) %in% c("y","x1","x2")])
cor=cor(mat_data)
alpha=0.01
t_value=qt(1-alpha/2,df=n-2)
t=cor*sqrt(n-2)/sqrt(1-cor^2)
diag(t)=0
t[t>qt(1-alpha/2,df=n-2)]=1
t[t!=1]=0
t=t+diag(-apply(t,1,sum),ncol=(ncol(t)))
eigen_values=eigen(t)$values
vec=eigen_values
vec[abs(vec)<10^(-4)]=1;vec[vec!=1]=0
vec_data=data.frame(num=1:length(vec),vec=vec)
num=vec_data$num[vec_data$vec==1]
vectors=eigen(t)$vectors[,num]
vectors=vectors/mean(vectors)
More than 3 years have passed since last update.
Register as a new user and use Qiita more conveniently
- You get articles that match your needs
- You can efficiently read back useful information
- You can use dark theme
List of users who liked
00