楼主: 醉risk
2646 5

[作业] R语言两组数据,线性回归R方太低,如何在现有变量的基础改进模型,比如增加变量什么的 [推广有奖]

  • 2关注
  • 0粉丝

大专生

78%

还不是VIP/贵宾

-

威望
0
论坛币
275 个
通用积分
1.0500
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1959 点
帖子
24
精华
0
在线时间
75 小时
注册时间
2016-9-6
最后登录
2023-11-6

20论坛币
源于一道作业题,老师给这么一道题“The file US-stock.txt gives the opening prices of some US-stocks on 25th February2005, and 10th November 2017, as well as the company code. Use the price on the firstdate to try to predict the price on the second date using a linear model. You may wantto consider transformations of either (or both) variables”。05年某天市场股价和他们在17年的股价数据,做线性模型。初始图是这样的,很聚集,而且我觉得这两组数据本身就跨度很大,很难预测,可能就是为了检查我们学习的成果?这里应该是使用上课讲的一元线性模型和多元线性模型。 原始散点图

之后我秉承着老师说做变换我就做变换,用对数收益率作为y轴,对数股价作为x轴。

变换后散点图

感觉有大概的趋势了,就做了线性回归lm1 <- lm(r~xx);summary(lm1)。做出来系数确实都是显著的,残差也通过了DW检验,残差和拟合值也通过了peasron 检验,就是QQ图好像不符合正态分布,然后R方也太低了,感觉就是没有关系一样。
我觉得是不是要增加变量,可是一共就这两组数据,我怎么增加变量呢?
然后R语言线性回归能不能预设残差分布呢?
我还能做些什么来更好的构建模型呢?
请大佬们指点一二,谢谢!!
拟合结果
QQ图和检验




US-stock.txt

85.88 KB

数据

最佳答案

llb_321 查看完整内容

你的数据,是要用05年的股价,预测17年的股价。其实就是做出两个年份的股价对数变换后的散点图,然后添加拟合线看看两个年份的股价是否存在线性关系。 回归时不需要计算收益率,因为收益率是比率,你仔细想想就知道这个比率和股价不存在线性关系。就用两年的股价进行lm即可,然后你再检验一下结果是否不同了
关键词:线性回归 R语言 formation transform Variables R语言 线性回归 多元线性回归
已有 1 人评分论坛币 收起 理由
llb_321 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

沙发
llb_321 在职认证  发表于 2021-3-28 15:11:43 |只看作者 |坛友微信交流群
你的数据,是要用05年的股价,预测17年的股价。其实就是做出两个年份的股价对数变换后的散点图,然后添加拟合线看看两个年份的股价是否存在线性关系。
回归时不需要计算收益率,因为收益率是比率,你仔细想想就知道这个比率和股价不存在线性关系。就用两年的股价进行lm即可,然后你再检验一下结果是否不同了
已有 1 人评分论坛币 收起 理由
cheetahfly + 10 热心帮助其他会员

总评分: 论坛币 + 10   查看全部评分

使用道具

藤椅
llb_321 在职认证  发表于 2021-3-28 18:54:45 |只看作者 |坛友微信交流群
不需要新增变量,也没有其他变量可以新增。就用最简单的一元线性回归做就可以。

使用道具

板凳
醉risk 发表于 2021-3-29 16:18:02 |只看作者 |坛友微信交流群
llb_321 发表于 2021-3-28 18:54
不需要新增变量,也没有其他变量可以新增。就用最简单的一元线性回归做就可以。
谢谢!我试了一下,用对数股价构建线性模型斜率0.58,有线性关系,R方0.1637,是要比我用收益率拟合的好。
就是还纠结于这个R方这么小,还有没有什么改进。
已有 1 人评分论坛币 收起 理由
llb_321 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

使用道具

报纸
llb_321 在职认证  发表于 2021-3-29 18:44:46 |只看作者 |坛友微信交流群
醉risk 发表于 2021-3-29 16:18
谢谢!我试了一下,用对数股价构建线性模型斜率0.58,有线性关系,R方0.1637,是要比我用收益率拟合的好。 ...
这道题只是用两年的数据作一元线性回归,更多是借以理解方法,而不是真地要做出合理的结果。
从数据结构上看,这种分析不可能得到很理想的结果,因为现实中今年和明年的股价都不可能出现很显著的回归关系,遑论2005年和2017年相距12年的的股价,另一个原因是期间内个股永远都不会出现同方向变动的情况。R方低,正反映了现实情况。如果R方很高,反倒奇怪了,除非数据是被人为操控的。
有一种方法,类似分层的处理,你可以试试。因为只有股价变量,所以可以尝试把样本按股价高中低分成三类,分别对每一类进行回归,结果会稍微好些,但一来这不是这道题的本意,二来说好一些也不会好多少。

使用道具

地板
醉risk 发表于 2021-3-30 02:34:17 |只看作者 |坛友微信交流群
llb_321 发表于 2021-3-29 18:44
这道题只是用两年的数据作一元线性回归,更多是借以理解方法,而不是真地要做出合理的结果。
从数据结构 ...
嗯嗯,我就觉得这个05和17年回归本身就问题重重。
感谢感谢!
已有 1 人评分论坛币 收起 理由
llb_321 + 5 精彩帖子

总评分: 论坛币 + 5   查看全部评分

使用道具

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

本版微信群
加好友,备注cda
拉您进交流群

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

GMT+8, 2024-4-30 16:28