全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
13902 6
2014-12-10
悬赏 19 个论坛币 未解决
有代码 有数据演示  或者告诉用什么软件包 及软件包里的哪些函数 急用啊
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2014-12-13 08:43:26
我也想要!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-1-15 22:49:29
函数型的,应该可以采用基本的princomp函数,将结果输入到summary和plot函数中可分别得到分析结果和碎石图。但psych扩展包更具灵活性。
   
1 选择主成分个数

选择主成分个数通常有如下几种评判标准:

根据经验与理论进行选择
根据累积方差贡献率 ,例如选择使累积方差贡献率达到80%的主成分个数。
根据相关系数矩阵的特征值,选择特征值大于1的主成分。
      
另一种较为先进的方法是平行分析(parallel analysis)。该方法首先生成若干组与原始数据结构相同的随机矩阵,求出其特征值并进行平均,然后和真实数据的特征值进行比对,根据交叉点的位置来选择主成分个数。

我们选择USJudgeRatings数据集举例:

该数据集说明:

[,1]   CONT  Number of contacts of lawyer with judge.
[,2]   INTG  Judicial integrity.
[,3]   DMNR  Demeanor.
[,4]   DILG  Diligence.
[,5]   CFMG  Case flow managing.
[,6]   DECI  Prompt decisions.
[,7]   PREP  Preparation for trial.
[,8]   FAMI  Familiarity with law.
[,9]   ORAL  Sound oral rulings.
[,10]  WRIT  Sound written rulings.
[,11]  PHYS  Physical ability.
[,12]  RTEN  Worthy of retention.
  
首先加载psych包,然后使用fa.parallel函数绘制下图,从图中可见第一主成分位于红线上方,第二主成分位于红线下方,因此主成分数目选择1。

library(psych)
fa.parallel(USJudgeRatings[,-1], fa="pc",n.iter=100, show.legend=FALSE)
  
2 提取主成分

pc=principal(USJudgeRatings[,-1],nfactors=1)
  
pc的结果如下

      PC1   h2     u2
INTG 0.92 0.84 0.1565
DMNR 0.91 0.83 0.1663
DILG 0.97 0.94 0.0613
CFMG 0.96 0.93 0.0720
DECI 0.96 0.92 0.0763
PREP 0.98 0.97 0.0299
FAMI 0.98 0.95 0.0469
ORAL 1.00 0.99 0.0091
WRIT 0.99 0.98 0.0196
PHYS 0.89 0.80 0.2013
RTEN 0.99 0.97 0.0275

                 PC1
SS loadings    10.13
Proportion Var  0.92
  
从上面的结果观察到,PC1即观测变量与主成分之间的相关系数,h2是变量能被主成分解释的比例,u2则是不能解释的比例。主成分解释了92%的总方差。注意此结果与princomp函数结果不同,princomp函数返回的是主成分的线性组合系数,而principal函数返回原始变量与主成分之间的相关系数,这样就和因子分析的结果意义相一致。

3 旋转主成分

旋转是在保持累积方差贡献率不变条件下,将主成分负荷进行变换,以方便解释。成分旋转这后各成分的方差贡献率将重新分配,此时就不可再称之为“主成分”而仅仅是“成分”。旋转又可分为正交旋转和斜交旋转。正交旋转的流行方法是方差最大化,需要在principal中增加rotate='varimax'参数加以实现。也有观点认为主成分分析一般不需要进行旋转。

4 计算主成分得分

主成分得分是各变量的线性组合,在计算出主成分得分之后,还可以将其进行回归等做进一步分析处理。但注意如果输入数据不是原始数据时,则无法计算主成分得分。我们需要在principal中增加score=T的参数设置,结果将存放在结果的score元素中。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2015-6-29 14:05:21
have a look at it
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-6-21 14:46:34
可以用函数型数据分析专用的fda包,里面有pca.fd是用来进行主成分分析的。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2017-3-24 17:12:37
qwe123edc 发表于 2016-6-21 14:46
可以用函数型数据分析专用的fda包,里面有pca.fd是用来进行主成分分析的。
楼上正解,你寻找 书籍  <Functional Data Analysis with R and MATLAB > 里面有例子
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群