楼主: yourweily
2512 9

[文彤老师SPSS课程] 张老师, 急急请教多元线性回归疑惑。 谢谢! [推广有奖]

  • 0关注
  • 0粉丝

博士生

47%

还不是VIP/贵宾

-

威望
0
论坛币
92397 个
通用积分
1.0654
学术水平
4 点
热心指数
4 点
信用等级
3 点
经验
2975 点
帖子
322
精华
0
在线时间
213 小时
注册时间
2011-3-16
最后登录
2019-6-9

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
问题背景:
现在我有多个国家的500个左右的宏观经济变量, 希望用他们来预测某个公司在各个国家的某个指标的未来走向。 由于不知道(至少不敢确定)哪些宏观经济变量与该指标有必然关系(因果关系), 所以采用了如下方法:

参数设置:
unstandardized prediction
95% confidence level
95% individual prediction confidence
stepwise


建模过程:
1. 就每个国家,将500多个变量输入SPSS
1.1 如果能产生模型, 则随机除去产生模型中的一个变量, 将剩下的499个变量作为独立变量输入到SPSS
1.2 如何还能产生模型, 则继续上一步骤
1.3 如何不能产生模型, 随机从留下的变量中剔除一个, 继续
1.4 运行到满足一定次数,或产生足够的备选模型后停止。
该过程由程序调用SPSS, 所以不怕麻烦, 但是我不知道这样有否科学依据。

如此往复,就每个国家,我得到了几十个模型,每个模型基本包括1-6个独立变量。『之所以我删除变量是因为:我发现我手工剔除变量,产生的模型会不一样, 所以我不知道SPSS产生模型的原理,只能笨的采用遍历方法-- 虽然遍历的很不彻底』

就这些模型, 我现在利用如下标准进行筛选:
1. Rsuquare - 高的加分, 是1的减分 - 没有完美的世界是吧 呵呵
2. 模型 pvalue (sig)   >0.05 舍弃,   <0.01 加分, 否则 也不减分
3. 模型中采纳的变量是否与dependent var 有直觉的因果关系(比如行业相关的变量), 如有, 加分; 没有也不减分
4. 查看模型预测值与实际历史值的走向 (即是否一起上升, 一起下降), 走向一致性高的,加分; 低的减分
5. 预测出来的指标值变动剧烈 ( 我预测某个公司的表现, 很多rsquare很高的,居然很快该值就负值了!),减分
6. 模型只包括一个变量的,减分 (直觉让我觉得这只是纯粹数字层面的correlation,而背后无法解释)

通过上面的过程, 从几十个模型中选择一个作为某个国家的预测模型来预测该指标的未来表现。

我知道这样做显得很不够科学, 但是尚没有系统学习统计分析预测, 希望张老师拨冗就整个过程指点,
哪些步骤是完全错误的, 没有必要的, 以及烦请指点如何改进。  



非常感谢!
二维码

扫码加我 拉你入群

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

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

关键词:多元线性回归 线性回归 Standardized standardize confidence 模型 individual prediction 我不知道

沙发
张文彤 在职认证  发表于 2013-1-28 17:34:06 |只看作者 |坛友微信交流群
首先你的案例数是多少?如果就是国家数的话,那显然问题很大,因为变量数远高于案例数,会造成严重的过拟合问题。

使用道具

藤椅
yourweily 发表于 2013-1-29 14:28:43 |只看作者 |坛友微信交流群
谢谢张老师!
因为建模是就单个国家而言的。 所以国家数不是问题。
就每个国家:
现在有2003到2012年的宏观经济数据(共500多个指标), 以及第三方提供的就这个国家这些指标的2013到2017年的预测。

以及因变量从2003年到2012年的数据,
希望预测该因变量的2013-2017年的值。

另外, 我之所以将不同变量的组合输入SPSS来生成model, 是由于我在建模过程中, 发现输入不同的变量, 会产生出不同的model(即使删除的变量在前后model中都没有出现)。 而且采用stepwise的method, 后边产生的model的R^2 可能比先产生的高。 附件是一个国家的数据, 前面382个独立宏观经济数据, 最后一列是因变量。


建模参数:
"REGRESSION",
"/MISSING LISTWISE",
"/STATISTICS COEFF OUTS CI(95) R ANOVA",
"/CRITERIA=PIN(.05) POUT(.10) CIN(95)",
"/NOORIGIN",
"/DEPENDENT BOOKING",
"/METHOD=STEPWISE " +
varStr <选定的自变量列表>+


通过输入不同的varStr, 程序可以生成n个model(都是针对同一个国家的)。 附件是一个例子
而后从中选择一个合适的模型

盼复! 非常感谢!

WL


附件: 你需要登录才可以下载或查看附件。没有帐号?我要注册

使用道具

板凳
张文彤 在职认证  发表于 2013-1-29 16:20:01 |只看作者 |坛友微信交流群
想用10个案例去建立一个500个自变量的回归模型?!你也太贪心了吧!

没什么法子好想的,只能在建模之前删减变量、合并变量、增加案例,虽然有诸如bootstrap之类的计算统计学方法来增强数据使用效率,但毕竟不是正道。

建议你把主要精力放在删减和合并变量上。

使用道具

报纸
yourweily 发表于 2013-1-31 02:58:19 |只看作者 |坛友微信交流群
非常感谢张老师!
我的解释可能误导你了, 其中的循环环节,就是不断删减可选自变量的过程。 具体的说,
我通过专业人士对那些变量的判别, 采用两个初始集合:
1. 采纳63个左右的可选变量(有些国家可能没有某些变量值), 而且对每个可选变量都有一个人工的判断(与应变量的商业关联程度), 而后在循环过程中, 最后可能只剩下3个可选输入(如果循环次数达到60次)。
如果63个变量无法产生任何model, 这进入下一步
2. 采纳200个左右的可选变量, 循环次数达到150次, 所以最后如何还能有模型产生,最多输入可选变量的也就50个左右的变量。

最后如果还是没有产生model, 则我输入可选变量(500+),尝试建模。

事实上, 如同附件显示(是实际的运行结果), 被模型采纳的变量很少有超过5个的。

我 buy in你的合并变量的idea,现在准备采用PCA/factor对自变量做预处理。

我现在最大的困惑是SPSS stepwis  MLR modeling过程。
1. 为什么变量的数量是个问题?  有的案例上提到, 最好的做法是列出所有变量的可能组合, 而后逐个作为输入。 在所有的产出的模型中选择最佳。  (当然对于500个变量的所有组合是个天文数字了, 所以在过程中我采取了简化)。  
2. 这种不断改变可选独立变量集合说产生的多个model之间如何比较选择最合理?

非常感谢! 也希望讨论有助于其他跟我一样入门级的pingguer一起进步

使用道具

地板
张文彤 在职认证  发表于 2013-1-31 14:03:56 |只看作者 |坛友微信交流群
你没完全理解我的意思,n个案例的数据集,最多只能建立含有n-2个自变量的回归方程,所以你的数据没什么模型好玩的,纳入最多5个变量实在是很正常的情况。

就用最直接的P值排序方法来筛选变量即可,必要的时候可以加用Bonferroni校正。不过你这么少的样本量,我真心不觉得有这个必要。。。

你可以去参考一些基因芯片数据分析方面的文章或者研究,或许会有启发,基因芯片数据是典型的高维度低样本量数据(100case vs 2-3000variables那种),和你的情况倒是有些类似。

不过说来说去,就10个有效案例也实在是太少了。。。少的就快要不是统计学应当考虑的范畴了。

使用道具

7
yourweily 发表于 2013-1-31 15:10:40 |只看作者 |坛友微信交流群
非常感谢! 张老师!  太爱你啦!  哈哈。

(BTW, 我共有2003 - 2017, 共15个case, 没办法, 很多行业细分的宏观变量数据供应商之前没有跟踪)
现在正在尝试PCA合并变量。 在合并过程中, 有一个问题.
我的所有变量基本可以分为13类, 每个类别中有多个变量 ( 比如:就智能手机类别, 包括消费者智能手机消费额,商业市场消费额, 服务供应商的销售额 等等) 。
如果我把所有变量作为PCA的输入, 其中的每个factor包含n多个基本变量。
另外, 如果每次我只将同一个类别的变量输入PCA,则每个类别可得到1-2个factors, 而且每个factor能很直观的得到解释。
不过第二种方法是不是不符合PCA背后的方差解释思想啊?

谢谢!  我是不是问的太多了?  -:)   

祝好!
WL

使用道具

8
张文彤 在职认证  发表于 2013-1-31 17:27:27 |只看作者 |坛友微信交流群
pca只是工具,第二种思路才是正解。
大型研究中,一般都是先采用定性或者聚类的方法对变量进行分组,然后每组提公因子的。
我不知道你是硕士还是博士,如果是博士的话,倒是强烈建议去看看基因芯片数据分析的入门文章,一定能做出一篇超高质量的论文来。小小的吹嘘一下,这类复杂数据和特殊数据的分析,生物统计领域早就不知道甩了经济统计领域多少条大街了。。。我的博士论文就是生物信息学的数据挖掘方向的。。。

使用道具

9
yourweily 发表于 2013-1-31 18:25:09 |只看作者 |坛友微信交流群
不好意思, 张博士, 其实我已经毕业很多年。之前也一直没有碰统计分析, 只是现在手头的项目需要做预测, 于是就来参加在线培训了(多么希望能参加现场培训啊)。 纯粹是现学现用。 不是为了做研究。 所以即使数据少, 也不得不继续做下去。。。。

我刚尝试了PCA的工具, 的确如你所说, 如果第一种方法, 第一个component就解释了86%的Var! 其他都成了小妾了。

可是第二种方法, 我想分类归族,而后提取各组的component(1-2)个。 可怜的是,做出来的预测结果居然还不如直接把300个变量扔进去, 让SPSS自己stepwise选择来的精准。

我现在对降维的背后的目的有些糊涂:
其一个目的是降低由于var-corration 产生的影响, 那我们看model的 adjusted R Sqaure是不是也已经能得到该信息呢?

如果纯粹是因为考虑到数据量和处理的问题(比如你提高的基因芯片 -- 刚刚快速浏览了一篇文章,天文 呵呵),那降维可以帮助解决计算量过大的问题。
但是降维本身会导致误差增大,对吗? 毕竟选取的compenent累计解释的Var%有些时候达不到100%

所以,是不是只要计算许可, 可以不降维?


另外, 张老师能稍微解释一个统计中freedom背后的思想吗? 你在上文中提到的n-2。

使用道具

10
张文彤 在职认证  发表于 2013-2-1 12:51:03 |只看作者 |坛友微信交流群
降维的目的之一是帮助使得模型的可解释性更高,而不是简单的浓缩信息。
分类归组更多的要基于定性分析来做的。
你样本量太少了,没法考虑更复杂的典型相关或者pls方法的,这些方法倒是可以在降维的同时保证预测精度。
n-2那个你查 自由度 这个关键词好了。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jltj
拉您入交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 09:12