R语言简单的最小二乘法

根据最小二乘法进行参数估计,然后把实际数据和估计参数后的曲线方程画个图
R语言中,lm是线性回归建模,如果指定方程是非线性的话就将曲线直线化再做回归。
nls是直接拟合曲线,表示非线性回归建模函数,参数是显示的,也就是建模时要把系数标注出来并给出范围。

#最小二乘回归
mod1<-lm((rp-rf)~(rm-rf)+I((rm-rf)^2),data=TMdata)
mod2<-nls((rp-rf)~a*(rm-rf)+b*I((rm-rf)^2)+c,data=TMdata,start=c(a=0,b=0,c=0))
summary(mod1)
summary(mod2)
#保留rprm大于0的数据
newdata<-subset(TMdata,TMdata$rp>0)
newdata2<-subset(newdata,newdata$rm>0)
ggplot() +
  geom_point(aes(x = newdata2$rm, y = newdata2$rp),
           alpha = 0.5, size = 5, color = "red")+
  geom_line(aes(x = newdata2$rm, y = predict(mod2,newdata2)),
            size = 1, color = "blue")+
  labs(x='市场组合收益率',y='基金实际收益率')

在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值