1、广义线性模型的介绍

当一个y可能由多个x决定时,且y与x中有多重线性关系时,我们定义线性回归公式为:

在拟合这样的一个拟合一个带有系数 w = (w_1, …, w_M) 的线性模型时,根据MSE,我们使得数据集实际观测数据和预测数据(估计值)之间的残差平方和最小。其数学表达式为:

要求出最适合的模型,只需求出MSE(该表达式)的最小值即可
在此,我们引入最大似然估计和中心极限定理的的概念:

最大似然估计是一种统计学方法,它用来求一个样本集的相关概率密度函数的参数。

中心极限定理是谈论随机变量的序列和分布渐进于正态分布的一类定理。(个人理解,就是当一组变量随机抽取且变量之间无关系或关系很小时,他们的分布是近似于正态分布的。)

在此我们再引入正态分布的概率密度函数,所谓概率密度函数,就是变量与拟合成功概率的函数,其中x指变量,y指x拟合成功的概率。

接下来我们将线性回归预测中的误差值带入正态分布的概率的密度公式,并求出各点概率密度乘积的最大值,如下图。

又因为ln函数也是单调递增函数,我们采用ln简化目标函数,最终结果如下图的L():

当将L()简化成J()时,通过对L()的观察我们可以发现L()=A-J(),故求L()最大等价于求J()最小

接下来再去用线性代数的运算方法简写J()

接下来我们求J()的驻点,对J()求导

写到最后我们终于求出了目标参数的解析公式,接下来我们用代码实现该公式

代码块

代码块语法遵循标准markdown代码,例如:

import numpy as  np
#把numpy命名为np
import matplotlib.pyplot as plt
#数据创建
X = 2*np.random.rand(100,1)
#随机创建了一个100行一列的数据向量x,其中x属于0到2
Y = 4+3*X+np.random.randn(100,1)X_b= np.c_[np.ones((100,1)),X]
#代入目标函数公式
theta_best = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(Y)print(theta_best)X_new = np.array([[0],[2]])X_new_b = np.c_[(np.ones((2,1))),X_new]print(X_new_b)y_predict = X_new_b.dot(theta_best)print(y_predict)
#绘图模块
plt.plot(X_new,y_predict,'r-')
plt.plot(X,Y,'b.')
plt.axis([0,2,0,15])
plt.show()

最后实现的结果如图

把这个东西搞懂弄懂讲懂还是 挺累的,欢迎各位指正。

广义线性模型中的普通最小二乘法(MSE转换成最大似然估计)相关推荐

  1. C#将image中的显示的图片转换成二进制

    原文:C#将image中的显示的图片转换成二进制 1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才 ...

  2. java 把ascll转换成char_java中 怎么把一个ascii转换成字符串

    java中 怎么把一个ascii转换成字符串 关注:275  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-18 08:53 提问者壹玍徴戰何亽陪 2021-01-17 22:42 ...

  3. php中html页面时间戳直接转换成具体日期的写法

    php中html页面时间戳直接转换成具体日期的写法 **{$v.time|date="Y-m-d H:i:s",###}**

  4. 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。

    详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程. first() {//检索快表if(找到){修改页表项访问位if(是写指令){修改位置为"1";}us ...

  5. 详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。...

    详述在设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程. first() {//检索快表if(找到){修改页表项访问位if(是写指令){修改位置为"1";}us ...

  6. 在Manjaro中Debtap将deb文件转换成pkg文件后,怎么解压生成的.pkg.tar.xz包?

    接上篇博客,本篇博客解决的问题如下: 在Manjaro中Debtap将deb文件转换成pkg文件后,怎么处理生成的.pkg.tar.xz压缩包? 解决办法如下: 以我的mnetassist-0.1.1 ...

  7. vue中使用moment处理时间戳转换成日期或时间格式

    vue中使用moment处理时间戳转换成日期或时间格式 npm i moment import moment from 'moment' <template><div>< ...

  8. word学习/word如何显示空格/LaTeX格式转为Word格式/ latex中的公式格式如何转换成word中的公式格式/excel复制到word表格过大超出

    以windows的word365为例进行讲解,主要分为显示,公式,表格,图片,审阅以及写作方式(含Latex格式转换). 常用快捷键: f4: cmd + y 查找: cmd + shift + h ...

  9. 将源代码中的全角符号转换成半角符号并对代码风格进行美化

    从网上拷下来的代码经常会出现全角符号,代码风格也很糟糕,可以用下面的方法进行修正美化. 1.安装astyle 2.写一个format.sh脚本 这里只是对空格还有数字.字母进行转换,可根据自己的需求再 ...

最新文章

  1. 运行第一个Docker容器-Docker for Web Developers(1)
  2. 让网管暴寒的网络故障(一笑了之)
  3. python os 检查同名_2020Python 爬虫面试题,高薪就业Python面试必看
  4. 四月森林火灾地震频发,感恩奋战在一线的最可爱的人
  5. java 有穷自动机_Java实现雪花算法(snowflake)
  6. php 信号量 关闭,php 信号量
  7. 互联网是由多个计算机相互连接而成,计算机网络
  8. 怎样把MySQL的编码方式改为utf8?
  9. 没有人躲得过:被数学支配的噩梦
  10. TortoiseGit乌龟git添加公钥密钥和私钥认证,实现乌龟git同步免密码输入
  11. 解决“安装程序无法创建新的系统分区,也无法定位现有系统分区”问题方法
  12. C++ Bayer图像格式,使用GDAL进行格式转换。
  13. java流程图都有哪些,盘点国内都有哪些免费好用的流程图设计工具
  14. 【免费】Linux命令行与Shell脚本编程大全 第3版 PDF全本 21MB 百度网盘下载
  15. html5条件筛选jquery,jQuery实现多条件筛选
  16. angular.js 错误: Error [$injector:unpr] 原因
  17. Wormhole漏洞分析
  18. 【龙印】把龙芯1c的pwm用作定时器并产生中断
  19. 【各种转换】数组转换成字符串,集合转换成字符串,字符串转集合
  20. springboot+vue实现手机验证码功能

热门文章

  1. 声音大小与振幅的关系_振幅大小决定音的什么
  2. C语言1013山东理工大学试题,流体试题真题山东理工大学3页
  3. 废品回收小程序搭建是如何实现运营方案整合以及利润的产生
  4. PTA 超市贴花 Java代码
  5. matlab 做apk,炉石手机脚本apkmatlab文件
  6. java+mysql基于ssm的校园快递代领系统
  7. linux开发板访问u盘
  8. 【计算机科学基础】程序的编译与运行
  9. i5 1340P参数 酷睿i5 1340P怎么样 相当于什么水平
  10. 千万不要说联通的网络不好……