自编R计算MSE(均方误差)[通俗易懂]

自编R计算MSE(均方误差)[通俗易懂]基本原理1.生成关于x1~N(5,3),x2~N(100,10),error~N(0,1)2.自己定一个实际对线性回归模型,并计算得到真实的yy=1.5+0.8×1+1.8×2+error3.对x1,x2进行线性拟合,当然这里也可以自写函数用最小二乘法原理,进行参数对估计4.提取的每一个beta1,beta25.计算他的均方误差,计算公式代码k=100000#定义实验次数beta_x1=c()#定义空列beta_x2=c()for(iin1:k){

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

基本原理

1.生成关于x1~N(5,3),x2~N(100,10),error~N(0,1)
2.自己定一个实际对线性回归模型,并计算得到真实的y
y = 1.5+0.8x1+1.8x2+error
3.对x1,x2 进行线性拟合,当然这里也可以自写函数用最小二乘法原理,进行参数对估计
4.提取的每一个beta1,beta2
5.计算他的均方误差,计算公式

代码

k = 100000 # 定义实验次数
beta_x1 = c() # 定义空列
beta_x2 = c()
for (i in 1:k) { 
   
  beta1 = 0.8 # 设置真实系数
  beta2 = 1.8
  x1 = rnorm(100,5,3) # 产生随机数
  x2 = rnorm(100,100,10)
  error = rnorm(100,0,1) # 产生随机误差
  y = 1.5+0.8*x1+1.8*x2+error
  data1 = data.frame(x1,x2,y) # 构建数据框
  res = lm(y~x1+x2,data = data1)
  res = summary(res)
  beta1_r = (res$coefficients[2]-beta1)^2 # 取估计的系数
  beta2_r = (res$coefficients[3]-beta2)^2
  beta_x1 = c(beta_x1,beta1_r) # 追加成向量
  beta_x2 = c(beta_x2,beta2_r)
  
}
MSEx1 = sum(beta_x1)/length(beta_x1) # 求MES的公式
MSEx2 = sum(beta_x2)/length(beta_x2)
message('x1的MES为:',MSEx1)
message('x2的MES为:',MSEx2)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/187750.html原文链接:https://javaforall.net

(0)
上一篇 2022年9月1日 上午6:16
下一篇 2022年9月29日 下午6:36


相关推荐

  • 互联网巨头大模型策略分析:开源与闭源路径技术、生态与商业博弈

    互联网巨头大模型策略分析:开源与闭源路径技术、生态与商业博弈

    2026年3月13日
    2
  • 深入解析Linux Platform_device 及驱动

    深入解析Linux Platform_device 及驱动[导读]前文分析了Linux设备驱动的驱动模型,本文来聊聊Platform_driver/Platform_device这个类。做嵌入式Linux的驱动,这个也是绕不开的,所以来学习分析总结一下。

    2022年7月3日
    24
  • querySelectorAll 遍历

    querySelectorAll 遍历直接 forEachdocum querySelecto p forEach i gt console info i 如果不能直接 forEachquery 返回的是 NodeList 无法直接 forEach 遍历 但是 貌似现在可以了 难到是浏览器都升级支持了 利用展开 document querySelecto

    2026年3月18日
    2
  • Java Netty 教程

    Java Netty 教程Netty 是用于 Java 的高性能 IO 工具包 Netty 是开源的 因此可以自由使用它 甚至可以为它做出贡献 该 Netty 教程将解释 Netty 的工作方式以及如何开始使用 Netty 但本教程不会涵盖 Netty 的每一个细节 Netty 官网 Netty 网站地址为 https netty io Netty 优势通常 与使用标准 Java 实现的应用程序相比 Netty 使构建可扩展 强大的网络应用程序变得容易得多 Netty 还包含一些特定于操作系统的优化 例如在 Linux 上使用 EPOLL 等

    2026年3月17日
    2
  • Android从零开始搭建MVVM架构(3)——ViewModel

    Android从零开始搭建MVVM架构(3)——ViewModelViewModel类是被设计用来以可感知生命周期的方式存储和管理UI相关数据,ViewModel中数据会一直存活即使activityconfiguration发生变化。ViewModel有什么优势?1.数据持久化activity在销毁重建时,之前我们可以用activity的onSaveInstanceState()机制保存和恢复数据,但缺点很明显,onSaveInstanceS…

    2022年6月17日
    29
  • 手把手实现Java图书管理系统(附源码)_图书管理系统项目背景

    手把手实现Java图书管理系统(附源码)_图书管理系统项目背景基于JavaWeb开发的图书管理系统实现功能数据库运行环境图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。图书馆信息管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点很大程度的提高了管理图书馆信息的工作效率,节省了大量资金,方便了师生对图书的借阅和归还。图书馆管理系统代表了图书馆管理的信息化,不仅是体现图书馆现代化形

    2025年11月22日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号