Questions tagged «pca»

主成分分析(PCA)是线性降维技术。它将多变量数据集简化为较小的构造变量集,以保留尽可能多的信息(尽可能多的方差)。这些变量称为主成分,是输入变量的线性组合。

1
为什么R函数'princomp'和'prcomp'给出不同的特征值?
您可以使用十项全能数据集{FactoMineR}重现该数据。问题是为什么计算出的特征值与协方差矩阵的特征值不同。 以下是使用的特征值princomp: > library(FactoMineR);data(decathlon) > pr <- princomp(decathlon[1:10], cor=F) > pr$sd^2 Comp.1 Comp.2 Comp.3 Comp.4 Comp.5 Comp.6 1.348073e+02 2.293556e+01 9.747263e+00 1.117215e+00 3.477705e-01 1.326819e-01 Comp.7 Comp.8 Comp.9 Comp.10 6.208630e-02 4.938498e-02 2.504308e-02 4.908785e-03 和使用相同PCA: > res<-PCA(decathlon[1:10], scale.unit=FALSE, ncp=5, graph = FALSE) > res$eig eigenvalue percentage of variance cumulative percentage of variance comp …
22 r  pca 

2
可以将PCA应用于时间序列数据吗?
我知道主成分分析(PCA)基本上可以应用于横截面数据。通过将年份指定为时间序列变量并正常运行PCA,PCA能否有效地用于时间序列数据?我发现动态PCA适用于面板数据,并且Stata中的编码是针对面板数据而非时间序列设计的。是否有适用于时间序列数据的任何特定类型的PCA? 更新。让我详细解释。 目前,我正在构建印度基础设施指数,该指数包含道路长度,铁路路线长度,发电量,电话用户数量等变量。对于一个国家/地区,我在22年内拥有12个变量。尽管我已经审查了将PCA应用于时间序列甚至面板数据的论文,但PCA是为假设iid的横截面数据而设计的。面板和横截面数据违反了该规则,并且PCA未考虑其中的时间序列维度。我看到动态PCA仅应用于面板数据。我想知道是否有在时间序列上应用的特定PCA或运行将年份定义为时间序列变量的静态PCA可以完成这项工作?
22 time-series  pca 

2
时“单位方差”岭回归估计的极限
考虑带有附加约束的岭回归,该约束要求具有单位平方和(等效于单位方差);如果需要,可以假定也具有单位平方和: ÿy^y^\hat{\mathbf y}yy\mathbf y β^∗λ=argmin{∥y−Xβ∥2+λ∥β∥2}s.t.∥Xβ∥2=1.β^λ∗=arg⁡min{‖y−Xβ‖2+λ‖β‖2}s.t.‖Xβ‖2=1.\hat{\boldsymbol\beta}_\lambda^* = \arg\min\Big\{\|\mathbf y - \mathbf X \boldsymbol \beta\|^2+\lambda\|\boldsymbol\beta\|^2\Big\} \:\:\text{s.t.}\:\: \|\mathbf X \boldsymbol\beta\|^2=1. \ lambda \ to \ infty时\ hat {\ boldsymbol \ beta} _ \ lambda ^ *的限制是多少?β^∗λβ^λ∗\hat{\boldsymbol\beta}_\lambda^*λ→∞λ→∞\lambda\to\infty 以下是一些我认为是正确的声明: 当λ=0λ=0\lambda=0,有一个整洁的显式解决方案:采用OLS估计器β^0= (X⊤X )− 1X⊤ÿβ^0=(X⊤X)−1X⊤y\hat{\boldsymbol\beta}_0=(\mathbf X^\top \mathbf X)^{-1}\mathbf X^\top \mathbf y并对其进行归一化以满足约束(可以通过添加Lagrange乘数并进行微分来查看此约束): β^∗0= β^0/ ∥X β^0∥ 。β^0∗=β^0/‖Xβ^0‖.\hat{\boldsymbol\beta}_0^* = …

3
当维数大于样本数时的PCA
我遇到了一个场景,其中我有10个人/人的10个信号(因此100个样本),其中包含需要传递给分类器的14000个数据点(维度)。我想减少此数据的维数,而PCA似乎是这样做的方法。但是,我仅能找到样本数量大于维数的PCA示例。我正在使用PCA应用程序,该应用程序使用SVD查找PC。当我将其传递给我的100x14000数据集时,返回了101台PC,因此显然可以忽略绝大多数尺寸。该程序表明前6台PC包含90%的方差。 是否合理地假设这101台PC基本上包含所有差异并且其余尺寸可以忽略不计? 我读过的一篇论文声称,使用与我自己的数据集相似的(尽管质量略低)数据集,他们能够将4500尺寸缩减到80,从而保留了96%的原始信息。论文挥舞着使用的PCA技术的细节,只有3100个样本可用,我有理由相信比实际用于PCA的样本更少(以消除分类阶段的偏差)。 我是否缺少某些东西,或者这真的是PCA与高维,低样本量数据集结合使用的方式吗?任何反馈将不胜感激。

3
随机数据的SVD结果中的怪异相关性;他们有数学解释还是LAPACK错误?
我在随机数据的SVD结果中观察到一个非常奇怪的行为,可以在Matlab和R中重现该行为。是吗? 我从k = 2维高斯中抽取了n=1000n=1000n=1000样本,均值和均方差为零:。我装配它们在数据矩阵。(我可以选择是否使居中,这不会影响以下内容。)然后我执行奇异值分解(SVD)来获得。让我们看一下两个特定元素,例如和,并询问在不同绘制之间它们之间的相关性是什么k=2k=2k=21000 × 2 X X X = û 小号V ⊤ û û 11 ù 22 XX∼N(0,I)X∼N(0,I)X\sim \mathcal N (0, \mathbf I)1000×21000×21000 \times 2XX\mathbf XXX\mathbf XX=USV⊤X=USV⊤\mathbf X=\mathbf{USV}^\topUU\mathbf UU11U11U_{11}U22U22U_{22}XX\mathbf X。我希望,如果抽奖次数相当大,则所有此类相关性都应在零附近(即总体相关性应为零,样本相关性将很小)。NrepNrepN_\mathrm{rep} 但是,我观察到U_ {11},U_ {12},U_ {21}和U_ {22}之间以及仅在这些元素之间存在一些奇怪的强相关性(大约)。如预期的那样,所有其他成对的元素都具有约零的相关性。下面是如何用于相关矩阵20的“上”元素\ mathbfù看起来像(第一10个的第一列的元件,则第一10个,第二列的元素):±0.2±0.2\pm0.2U11U11U_{11}U12U12U_{12}U21U21U_{21}U22U22U_{22}202020UU\mathbf U101010101010 请注意,每个象限的左上角都有很高的值。 正是@whuber的评论引起了我的注意。@whuber认为PC1和PC2不是独立的,并提供了这种强相关性作为证据。但是,我的印象是他无意中发现了LAPACK库中的一个数字错误。这里发生了什么? 这是@whuber的R代码: stat <- function(x) {u <- svd(x)$u; c(u[1,1], u[2, 2])}; …

4
功能主成分分析(FPCA):这是怎么回事?
功能主成分分析(FPCA)是我偶然发现且从未了解的内容。这是什么一回事呢? 请参见Shang,2011年的“功能主成分分析调查”,我在此引用: 由于“维数的诅咒”,PCA在分析功能数据时遇到了严重的困难(Bellman 1961)。“维数的诅咒”源自高维空间中的数据稀疏性。即使PCA的几何特性仍然有效,并且即使数值技术提供了稳定的结果,样本协方差矩阵有时也不能很好地估计总体协方差矩阵。为了克服这一困难,与PCA相比,FPCA提供了更多的信息来检查样本协方差结构[...] 我就是不明白。本文描述的缺点是什么?PCA难道不是处理“维数诅咒”等情况的最终方法吗?

4
如何将新向量投影到PCA空间上?
执行主成分分析(PCA)之后,我想将一个新向量投影到PCA空间上(即在PCA坐标系中找到其坐标)。 我已经使用R计算了R语言的PCA prcomp。现在,我应该可以将向量乘以PCA旋转矩阵。该矩阵中的主要成分应该按行还是按列排列?
21 r  pca  r  variance  heteroscedasticity  misspecification  distributions  time-series  data-visualization  modeling  histogram  kolmogorov-smirnov  negative-binomial  likelihood-ratio  econometrics  panel-data  categorical-data  scales  survey  distributions  pdf  histogram  correlation  algorithms  r  gpu  parallel-computing  approximation  mean  median  references  sample-size  normality-assumption  central-limit-theorem  rule-of-thumb  confidence-interval  estimation  mixed-model  psychometrics  random-effects-model  hypothesis-testing  sample-size  dataset  large-data  regression  standard-deviation  variance  approximation  hypothesis-testing  variance  central-limit-theorem  kernel-trick  kernel-smoothing  error  sampling  hypothesis-testing  normality-assumption  philosophical  confidence-interval  modeling  model-selection  experiment-design  hypothesis-testing  statistical-significance  power  asymptotics  information-retrieval  anova  multiple-comparisons  ancova  classification  clustering  factor-analysis  psychometrics  r  sampling  expectation-maximization  markov-process  r  data-visualization  correlation  regression  statistical-significance  degrees-of-freedom  experiment-design  r  regression  curve-fitting  change-point  loess  machine-learning  classification  self-study  monte-carlo  markov-process  references  mathematical-statistics  data-visualization  python  cart  boosting  regression  classification  robust  cart  survey  binomial  psychometrics  likert  psychology  asymptotics  multinomial 

1
PCA /对应分析中的“马蹄效应”和/或“拱效应”是什么?
生态统计中有许多技术可用于多维数据的探索性数据分析。这些被称为“协调”技术。许多统计数据与其他地方的通用技术相同或紧密相关。原型示例可能是主成分分析(PCA)。生态学家可能会使用PCA和相关技术来探索“梯度”(我尚不完全清楚什么是梯度,但我已经对其有所了解。) 在此页面上,主成分分析(PCA)下的最后一项是: PCA对于植被数据有一个严重的问题:马蹄效应。这是由于物种沿梯度分布的曲线性所致。由于物种响应曲线通常是单峰的(即非常强烈的曲线),因此马蹄效应很常见。 在页面的下方,在“ 对应分析”或“互惠平均”(RA)下,它称为“拱形效应”: RA有一个问题:拱效应。这也是由沿梯度分布的非线性引起的。 拱形不如PCA的马蹄效应那么严重,因为坡度的末端没有回旋。 有人可以解释吗?最近,我在重新表示低维空间数据的绘图中看到了这种现象(即对应分析和因子分析)。 “梯度”将更广泛地对应于什么(即在非生态环境中)? 如果您的数据发生这种情况,这是“问题”(“严重问题”)吗?为了什么? 在马蹄形拱门出现的地方应该如何解释输出? 是否需要采取补救措施?什么?原始数据的转换会有所帮助吗?如果数据是序数等级怎么办? 答案可能存在于该站点的其他页面中(例如,对于PCA,CA和DCA)。我一直在努力解决这些问题。但是,这些讨论是用不够熟悉的生态术语和实例进行的,因此很难理解这个问题。

2
与PCA相比,SVD有什么优势吗?
我知道如何用数学方法计算PCA和SVD,并且我知道两者都可以应用于线性最小二乘回归。 从数学上讲,SVD的主要优点似乎是可以将其应用于非平方矩阵。 两者都集中在矩阵的分解上。除了提到的SVD的优势之外,使用SVD相对于PCA是否还有其他优势或见解?X⊤XX⊤XX^\top X 我真的是在寻找直觉,而不是任何数学上的差异。
20 pca  least-squares  svd 

2
计算因子得分的方法,PCA或因子分析中的“得分系数”矩阵是什么?
根据我的理解,在基于相关性的PCA中,我们得到的是因子(在这种情况下,主成分)加载,而变量和因子之间的相关性就是什么。现在,当我需要在SPSS中生成因子得分时,我可以直接获取每个因子的每个受访者的因子得分。我还观察到,如果将“ 组件得分系数矩阵 ”(由SPSS生成)乘以标准化原始变量,则得到的分数得分与从SPSS获得的因子得分相同。 有人可以帮我了解如何计算“成分得分系数矩阵”或“因子得分系数矩阵”(通过它们可以计算因子或成分得分)吗?不同的计算因子评分方法在此矩阵上有何不同?

3
我在R上的rollapply PCA中收到“跳跃”加载。可以修复它吗?
我有10年的28种不同货币的每日收益数据。我希望提取第一个主要成分,而不是希望在整个10年中都使用PCA,而是希望应用2年的窗口,因为货币的行为会发生变化,因此我想对此进行反映。但是,我有一个主要问题,那就是princomp()和prcomp()函数在相邻的PCA分析中(即相隔1天)经常会从正加载跳跃到负加载。查看欧元货币的加载图: 显然,我不能使用它,因为相邻的载荷会从正数跳到负数,所以我的使用它们的系列将是错误的。现在看一下欧元货币加载的绝对值: 问题当然是我仍然不能使用它,因为从上图可以看出,负载确实会从负向正移动,有时会反过来,这是我需要保留的特征。 有什么办法可以解决这个问题?我可以强制特征向量方向在相邻的PCA中始终相同吗? 顺便说一句,FactoMineR PCA()函数也会出现此问题。rollapply的代码在这里: rollapply(retmat, windowl, function(x) summary(princomp(x))$loadings[, 1], by.column = FALSE, align = "right") -> princomproll
20 r  pca 

6
非高斯数据的PCA
关于PCA,我有几个快速问题: PCA是否假定数据集是高斯的? 当我将PCA应用于固有的非线性数据时会发生什么? 对于给定的数据集,过程是首先进行均值归一化,将方差设置为1,采用SVD,降低等级,最后将数据集映射到新的降低等级的空间中。在新空间中,每个维度都对应于最大方差的“方向”。 但是,在新空间中该数据集的相关性是否始终为零,还是仅对本质上为高斯的数据适用? 假设我有两个数据集“ A”和“ B”,其中“ A”对应于从高斯获得的随机采样点,而“ B”对应于从另一分布中随机采样的点(例如Poisson)。 PCA(A)与PCA(B)相比如何? 通过查看新空间中的点,我如何确定PCA(A)对应于从高斯采样的点,而PCA(B)对应于从泊松采样的点? “ A”中的点的相关性是否为0? “ B”中的点的相关性也为0吗? 更重要的是,我要问“正确”的问题吗? 我应该看看相关性,还是应该考虑另一个指标?
20 pca  svd 

4
边缘情况下精度和召回率的正确值是多少?
精度定义为: p = true positives / (true positives + false positives) 对不对,作为true positives和false positives做法0,精度接近1? 召回相同的问题: r = true positives / (true positives + false negatives) 我目前正在实施统计测试,需要计算这些值,有时分母为0,我想知道在这种情况下应返回哪个值。 PS:请原谅,不恰当的标签,我想用recall,precision和limit,但我不能创造新的标签呢。
20 precision-recall  data-visualization  logarithm  references  r  networks  data-visualization  standard-deviation  probability  binomial  negative-binomial  r  categorical-data  aggregation  plyr  survival  python  regression  r  t-test  bayesian  logistic  data-transformation  confidence-interval  t-test  interpretation  distributions  data-visualization  pca  genetics  r  finance  maximum  probability  standard-deviation  probability  r  information-theory  references  computational-statistics  computing  references  engineering-statistics  t-test  hypothesis-testing  independence  definition  r  censoring  negative-binomial  poisson-distribution  variance  mixed-model  correlation  intraclass-correlation  aggregation  interpretation  effect-size  hypothesis-testing  goodness-of-fit  normality-assumption  small-sample  distributions  regression  normality-assumption  t-test  anova  confidence-interval  z-statistic  finance  hypothesis-testing  mean  model-selection  information-geometry  bayesian  frequentist  terminology  type-i-and-ii-errors  cross-validation  smoothing  splines  data-transformation  normality-assumption  variance-stabilizing  r  spss  stata  python  correlation  logistic  logit  link-function  regression  predictor  pca  factor-analysis  r  bayesian  maximum-likelihood  mcmc  conditional-probability  statistical-significance  chi-squared  proportion  estimation  error  shrinkage  application  steins-phenomenon 

2
numpy和sklearn中的PCA产生不同的结果
我误会了吗。这是我的代码 使用sklearn import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from sklearn import decomposition from sklearn import datasets from sklearn.preprocessing import StandardScaler pca = decomposition.PCA(n_components=3) x = np.array([ [0.387,4878, 5.42], [0.723,12104,5.25], [1,12756,5.52], [1.524,6787,3.94], ]) pca.fit_transform(x) 输出: array([[ -4.25324997e+03, -8.41288672e-01, -8.37858943e-03], [ 2.97275001e+03, -1.25977271e-01, 1.82476780e-01], [ 3.62475003e+03, …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.