自编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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Asp.Net enableEventValidation

    Asp.Net enableEventValidationasp.net中enableEventValidation是干什么的???回发或回调参数无效。在配置中使用<pagesenableEventValidation=”true”/>或在页面中使用<%@PageEnableEventValidation=”true”%>启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现…

    2022年7月26日
    9
  • Android常用对话框大全——Dialog「建议收藏」

    Android常用对话框大全——Dialog「建议收藏」唉!最近一直忙碌着写项目以至于都没有空出点时间来总结近期的学习,记录学习到的东西…现在正好有时间了就该好好记录一下学习的过程了。今天就来谈谈开发中经常用的到的一个控件——Dialog,对话框一般我们就用来提示一些信息给用户,让用户自主选择,或者在一些操作不可逆的情况下我们提示用户是否继续操作,下面就让我们一起来学习吧。老司机发车啦…一:最简单的对话框AlertDialogdialog=new

    2022年5月5日
    54
  • 粒子群算法及其改进算法

    粒子群算法及其改进算法标准粒子群算法及其改进算法首先在这里介绍一下,这个里主要介绍粒子群算法以及一个改进的二阶振荡粒子群算法。原理粒子群优化(PSO)算法是Kennedy和Eberhart受鸟群群体运动的启发于1995年提出的一种新的群智能优化算法[1]。大概的意思就是一片森林里有一群鸟在找一块食物,它们不知道食物具体在哪,但是可以通过感官(例如嗅觉)去察觉到自己当前位置距离食物的远近。鸟可以记住自己走过的位置…

    2022年5月21日
    39
  • servlet到底是什么?[通俗易懂]

    servlet到底是什么?[通俗易懂]servlet到底是什么?对于这个问题一直云里雾里的,今天打算刨根问底。一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。

    2022年6月25日
    26
  • linux:根据关键字或日期查找日志

    linux:根据关键字或日期查找日志Q:Linux命令,根据关键字查询日志A:1.单个文件可以使用vi或vim编辑器打开日志文件,使用编辑器里的查找功能。在查看模式下,符号/后面跟关键字向下查找,符号?后面跟关键字向上查找,按n查找下一个,按N查找上一个。2.多个文件可以使用grep命令,比如grepERROR/var/log/messages*。会把匹配到ERROR这个关键字的行和所在的日志文件直接输出到屏幕。…

    2022年6月18日
    130
  • sql系列(基础)-第二章 限制和排序数据

    sql系列(基础)-第二章 限制和排序数据

    2022年1月2日
    40

发表回复

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

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