e*********g 发帖数: 77 | 1 不大了解PCA
想用一堆变量拟合一堆数据,结果电脑几天反应不过来。
于是考虑减少变量,似乎得用PCA,
但看过来怎么都是在变量空间里面找主轴?而我的函数就一个,对各个变量的依赖(导
数)不同,
怎样才能剔除假的变量,而找到函数依赖性最大的那几个变量? |
e*********g 发帖数: 77 | 2 用SVD可能吗?
【在 e*********g 的大作中提到】 : 不大了解PCA : 想用一堆变量拟合一堆数据,结果电脑几天反应不过来。 : 于是考虑减少变量,似乎得用PCA, : 但看过来怎么都是在变量空间里面找主轴?而我的函数就一个,对各个变量的依赖(导 : 数)不同, : 怎样才能剔除假的变量,而找到函数依赖性最大的那几个变量?
|
v*******e 发帖数: 11604 | 3
SVD == PCA == Eigen value/vector analysis
【在 e*********g 的大作中提到】 : 用SVD可能吗?
|
l*******s 发帖数: 1258 | 4 试试feature selection
比如mutual information,chi square啥的 |
E**********e 发帖数: 1736 | 5 pca是不能用来剔除变量的,但可以用来降维,降维后的新变量里包含了降维前所有的
变量,也就是新变量是以前旧变量的linear conbination。 mitbbs 上好多人多不懂,
就说用来选变量。很多面试官也不懂,听到回答说pca就觉得行了。
此变量非彼变量。 如果要用来选significant variabels,还是老老实实用基本方法,
统计基本课上交的帅选。 univariate screen, stepwise, multiple regression,
local k-neightbor searching, ridge, lasso。当然还有一些我也没学过,fiter,
wrapper是么的。 有些特别情况,可能有特别的方法。
【在 e*********g 的大作中提到】 : 不大了解PCA : 想用一堆变量拟合一堆数据,结果电脑几天反应不过来。 : 于是考虑减少变量,似乎得用PCA, : 但看过来怎么都是在变量空间里面找主轴?而我的函数就一个,对各个变量的依赖(导 : 数)不同, : 怎样才能剔除假的变量,而找到函数依赖性最大的那几个变量?
|
n**********0 发帖数: 66 | 6 Re这个。PCA是用来reduce dimension的,PCA产生的new variable的数量和你原来是一
样的,但是可以根据eigenvalue来reduce dimension.没法做到剔除你原来的original
的variable.
,
【在 E**********e 的大作中提到】 : pca是不能用来剔除变量的,但可以用来降维,降维后的新变量里包含了降维前所有的 : 变量,也就是新变量是以前旧变量的linear conbination。 mitbbs 上好多人多不懂, : 就说用来选变量。很多面试官也不懂,听到回答说pca就觉得行了。 : 此变量非彼变量。 如果要用来选significant variabels,还是老老实实用基本方法, : 统计基本课上交的帅选。 univariate screen, stepwise, multiple regression, : local k-neightbor searching, ridge, lasso。当然还有一些我也没学过,fiter, : wrapper是么的。 有些特别情况,可能有特别的方法。
|
e*********g 发帖数: 77 | 7 一个意思,剔除不重要不贡献的维度,但只根据eigenvalue排序是不准的。
还是要feature selection, significant variables, 或supervise learning吗?
(另外我的函数有很多非线性的项。)
original
【在 n**********0 的大作中提到】 : Re这个。PCA是用来reduce dimension的,PCA产生的new variable的数量和你原来是一 : 样的,但是可以根据eigenvalue来reduce dimension.没法做到剔除你原来的original : 的variable. : : ,
|
E**********e 发帖数: 1736 | 8 pca用来降维, 但是pca也可以用做regression啊。 你可以plot scree。 选top N个新
变量其中eigen value(或variance) 之和比上所有eigen value 之和大于一个设定值
,比如95%。 那么这95%包含的top N个新变量就可以用来做regression。 余下的5% 的
变量其实对model 贡献就很小或者可以忽略了。如果你要是光想选features的话,
pca是不适合的。
那这样的话, 可以用 stepwise, forward, backward, univariate screeing, 还
有一些像, k-neighbor local search, annealing, genitic 算法是么的。
【在 e*********g 的大作中提到】 : 一个意思,剔除不重要不贡献的维度,但只根据eigenvalue排序是不准的。 : 还是要feature selection, significant variables, 或supervise learning吗? : (另外我的函数有很多非线性的项。) : : original
|
e*********g 发帖数: 77 | 9 95%没用的,我都选到99.8%了,可精度还是不能达标,还是需要剩下几个fraction 只
有1e-4的维度。
stepwise等算法python有模块吗?哪一个快一些?
【在 E**********e 的大作中提到】 : pca用来降维, 但是pca也可以用做regression啊。 你可以plot scree。 选top N个新 : 变量其中eigen value(或variance) 之和比上所有eigen value 之和大于一个设定值 : ,比如95%。 那么这95%包含的top N个新变量就可以用来做regression。 余下的5% 的 : 变量其实对model 贡献就很小或者可以忽略了。如果你要是光想选features的话, : pca是不适合的。 : 那这样的话, 可以用 stepwise, forward, backward, univariate screeing, 还 : 有一些像, k-neighbor local search, annealing, genitic 算法是么的。
|
e*********g 发帖数: 77 | 10 如果有可能可以非线性地组合成新的维度吗?
就拟合而言,不知哪个基于python的效率高一些,mcmc什么收敛太慢,像是scipy.
optimize.minimize 里的Nelder-Mead选项运行两天结果和初始值没什么变化,压根不
收敛。
【在 e*********g 的大作中提到】 : 95%没用的,我都选到99.8%了,可精度还是不能达标,还是需要剩下几个fraction 只 : 有1e-4的维度。 : stepwise等算法python有模块吗?哪一个快一些?
|
n**********0 发帖数: 66 | 11 我没有上过这个课,自学的。我的理解是用eigenvalues可以先帮助你去掉一部分
dimension,当然还不够的,后面可以用一些variable selection的方法,比如lasso,
ridge啥的都可以试试,实在不会还可以stepwise,还可以用MSE cross validate一下。
【在 e*********g 的大作中提到】 : 一个意思,剔除不重要不贡献的维度,但只根据eigenvalue排序是不准的。 : 还是要feature selection, significant variables, 或supervise learning吗? : (另外我的函数有很多非线性的项。) : : original
|
n**********0 发帖数: 66 | 12 如果只要stepwise, R 就可以M, 比如step()
【在 e*********g 的大作中提到】 : 95%没用的,我都选到99.8%了,可精度还是不能达标,还是需要剩下几个fraction 只 : 有1e-4的维度。 : stepwise等算法python有模块吗?哪一个快一些?
|
G***n 发帖数: 877 | 13 pca啥时候用来做feature selection了,你得用L1 norm, Linear SVM, Random Forest
之类才能做这个啊。
【在 e*********g 的大作中提到】 : 不大了解PCA : 想用一堆变量拟合一堆数据,结果电脑几天反应不过来。 : 于是考虑减少变量,似乎得用PCA, : 但看过来怎么都是在变量空间里面找主轴?而我的函数就一个,对各个变量的依赖(导 : 数)不同, : 怎样才能剔除假的变量,而找到函数依赖性最大的那几个变量?
|
e*********g 发帖数: 77 | 14 got it,
sklearn, manifold learning.
【在 e*********g 的大作中提到】 : 如果有可能可以非线性地组合成新的维度吗? : 就拟合而言,不知哪个基于python的效率高一些,mcmc什么收敛太慢,像是scipy. : optimize.minimize 里的Nelder-Mead选项运行两天结果和初始值没什么变化,压根不 : 收敛。
|