全部版块 我的主页
论坛 计量经济学与统计论坛 五区 计量经济学与统计软件 统计软件培训班VIP答疑区
2883 9
2013-01-26
问题背景:
现在我有多个国家的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,而背后无法解释)

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

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



非常感谢!
二维码

扫码加我 拉你入群

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

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

全部回复
2013-1-28 17:34:06
首先你的案例数是多少?如果就是国家数的话,那显然问题很大,因为变量数远高于案例数,会造成严重的过拟合问题。
二维码

扫码加我 拉你入群

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

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

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之类的计算统计学方法来增强数据使用效率,但毕竟不是正道。

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

扫码加我 拉你入群

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

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

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个有效案例也实在是太少了。。。少的就快要不是统计学应当考虑的范畴了。
二维码

扫码加我 拉你入群

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

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

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

说点什么

分享

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