楼主: 1143414237
6183 4

lm.predict做预测怎么了,R语言小白求帮助 [推广有奖]

  • 0关注
  • 0粉丝

小学生

35%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
49 点
帖子
4
精华
0
在线时间
8 小时
注册时间
2013-8-20
最后登录
2016-3-25

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

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

经管之家联合CDA

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

感谢您参与论坛问题回答

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

+2 论坛币
最近做了一些模拟,其中就有LS方法,用training set做回归,再用test set做预测,然后看MSE,但是用predict函数做的预测值都是训练集的,不知道出了什么问题,还请高人指点!
library(MASS)
library(glmnet)
library(Matrix)
set.seed(1)
n=400
p=5
q=0
sigma=matrix(q,p,p)
diag(sigma)=1
x=mvrnorm(n,rep(0,p),sigma)
b=rep(3,p)
e=rnorm(n,0,1)
y=x%*%b+e

以上是生成的x,y.大家重点看后边,一共400个,用前200来做训练,后200做测试
x1=x[1:200,]
y1=y[1:200,]
x2=x[201:n,]
y2=y[201:n,]
hatb=solve(t(x1)%*%x1)%*%t(x1)%*%y1
yhat=x2%*%hatb
mean((yhat-y2)^2)

这个是用OLS公式算的,肯定是对的,结果大概是0.9几,但是用predict函数做的就不一样
lm1=lm(y[1:200]~x[1:200,])
summary(lm2)
new=data.frame(x[201:n,])
ypred=predict(lm1,new)

mean((y[201:n]-ypred)^2)
这个结果很大,但是OLS估计在低维应该表现不错才对,我看了下,最后预测出来的还是训练集的,那个函数写的有问题,就是不知道怎么写了,求大神啊啊啊啊


二维码

扫码加我 拉你入群

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

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

关键词:predict Pred red R语言 ICT training library Matrix matrix sigma

沙发
1143414237 发表于 2015-12-6 16:53:24 |只看作者 |坛友微信交流群
自己顶,高手快来

使用道具

藤椅
1143414237 发表于 2015-12-7 21:58:31 |只看作者 |坛友微信交流群
1143414237 发表于 2015-12-6 16:53
自己顶,高手快来
继续顶,高手快来

使用道具

板凳
莱卡GK 发表于 2019-4-4 07:37:26 |只看作者 |坛友微信交流群
求问楼主问题解决了吗,怎么解决qwq

使用道具

报纸
Mathaa 学生认证  发表于 2022-2-17 09:08:45 |只看作者 |坛友微信交流群
我也遇到了同样的问题

使用道具

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

本版微信群
加JingGuanBbs
拉您进交流群

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

GMT+8, 2024-5-13 06:50