本文实例讲述了Python实现的简单线性回归算法。分享给大家供大家参考,具体如下:

用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果:> summary(fit)

Call:

lm(formula = weight ~ height, data = women)

Residuals:

Min      1Q  Median      3Q     Max

-1.7333 -1.1333 -0.3833  0.7417  3.1167

Coefficients:

Estimate Std. Error t value Pr(>|t|)

(Intercept) -87.51667    5.93694  -14.74 1.71e-09 ***

height        3.45000    0.09114   37.85 1.09e-14 ***

Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ‘ 1

Residual standard error: 1.525 on 13 degrees of freedom

Multiple R-squared:  0.991, Adjusted R-squared:  0.9903

F-statistic:  1433 on 1 and 13 DF,  p-value: 1.091e-14

python实现的功能包括:

计算pearson相关系数

使用最小二乘法计算回归系数

计算拟合优度判定系数R2R2

计算估计标准误差Se

计算显著性检验的F和P值

import numpy as np

import scipy.stats as ss

class Lm:

"""简单一元线性模型,计算回归系数、拟合优度的判定系数和

估计标准误差,显著性水平"""

def __init__(self, data_source, separator):

self.beta = np.matrix(np.zeros(2))

self.yhat = np.matrix(np.zeros(2))

self.r2 = 0.0

self.se = 0.0

self.f = 0.0

self.msr = 0.0

self.mse = 0.0

self.p = 0.0

data_mat = np.genfromtxt(data_source, delimiter=separator)

self.xarr = data_mat[:, :-1] self.yarr = data_mat[:, -1] self.ybar = np.mean(self.yarr)

self.dfd = len(self.yarr) - 2 # 自由度n-2

return

# 计算协方差

@staticmethod

def cov_custom(x, y):

result = sum((x - np.mean(x)) * (y - np.mean(y))) / (len(x) - 1)

return result

# 计算相关系数

@staticmethod

def corr_custom(x, y):

return Lm.cov_custom(x, y) / (np.std(x, ddof=1) * np.std(y, ddof=1))

# 计算回归系数

def simple_regression(self):

xmat = np.mat(self.xarr)

ymat = np.mat(self.yarr).T

xtx = xmat.T * xmat

if np.linalg.det(xtx) == 0.0:

print('Can not resolve the problem')

return

self.beta = np.linalg.solve(xtx, xmat.T * ymat) # xtx.I * (xmat.T * ymat)

self.yhat = (xmat * self.beta).flatten().A[0] return

# 计算拟合优度的判定系数R方,即相关系数corr的平方

def r_square(self):

y = np.mat(self.yarr)

python中回归分析的算法_Python实现的简单线性回归算法实例分析相关推荐

  1. python线性回归算法简介_Python实现的简单线性回归算法实例分析

    本文实例讲述了Python实现的简单线性回归算法.分享给大家供大家参考,具体如下: 用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果: > ...

  2. python 线性回归函数_Python实现的简单线性回归算法实例分析

    本文实例讲述了Python实现的简单线性回归算法.分享给大家供大家参考,具体如下: 用python实现R的线性模型(lm)中一元线性回归的简单方法,使用R的women示例数据,R的运行结果: > ...

  3. python中字符串异或_python 异或加密字符串的实例

    python 异或加密字符串的实例 做个简单习题:输入明文给定秘钥,密文还原,按位异或处理. import base64 as b64 def xor_encrypt(tips,key): ltips ...

  4. python中while的用法_Python学习笔记之While循环用法分析

    本文实例讲述了Python学习笔记之While循环用法.分享给大家供大家参考,具体如下: 前面一篇<Python学习笔记之For循环用法>详细介绍了Python for循环,这里再来讲述一 ...

  5. python中write什么意思_python file write () 方法概括及作用分析(实例)

    今天这篇文章我们来了解一下pythonwrite(),我会在这篇文章之中来讲解python中write方法以及pythonwrite属性而且还会将它能用在python编程之中的什么地方来进行说明.废话 ...

  6. python中readlines函数例子_Python遍历方法readline()和readlines()实例讲解

    在进行Python项目开发(http://www.maiziedu.com/course/python/)中我们需要遍历一个大日志文件,在这个时候我们应该使用readlines()还是readline ...

  7. python中三级菜单讲解_Python字典实现简单的三级菜单(实例讲解)

    导读热词 @H_403_2@如下所示: data = { "北京":{ "昌平":{"沙河":["oldboy",&qu ...

  8. [转载] python中pass的使用_Python pass详细介绍及实例代码

    参考链接: Python pass语句 Python pass详细介绍及实例代码 Python pass的用法: 空语句 do nothing 保证格式完整 保证语义完整 以if语句为例,在c或c++ ...

  9. python中 是什么运算符_Python 运算符

    Python 运算符 什么是运算符? 本章节主要说明Python的运算符.举个简单的例子4 +5 = 9. 例子中,4和5被称为操作数,"+"号为运算符. Python语言支持以下 ...

最新文章

  1. linux c 获取目录文件列表
  2. 手把手干货教学Matlab载波调制
  3. 清除被占用的8080端口,否则npm run dev无法正常运行
  4. Centos7 Minimal 版安装后安装图形界面教程
  5. 使用idea编写消费者,接收生产者的持续日志输出【小案例】(三)
  6. IBASE header change - read access sequence
  7. linux动态链接库软件,Linux 动态链接库
  8. 模态框里使IMG的Src能动态显示
  9. 并发请求多 服务器响应慢 post,【转】吞吐量、QPS(TPS)、并发数、RT性能指标及ab并发测试...
  10. 安卓刷机及刷机包制作教程
  11. 一行代码教你屏蔽你的博客广告
  12. 八戒帮扶V5微信公众平台任务系统完美运营v1.5.8
  13. 第四周项目3--单链表应用之递增判断
  14. Unity人物角色动画系统学习总结
  15. 腐蚀rust服务器命令_腐蚀Rust游戏指令大全 全游戏指令一览
  16. AE470 卡通元素动画视频字幕预设手绘歌词文字标题效果制作AE片头
  17. 使用JQuery删除html页面中的元素
  18. python实现剪刀石头布小游戏
  19. 【重识云原生】第六章容器6.4.2.3节——Pod使用(下)
  20. 金融的本质是什么?终于有人讲清楚了!(源于网络)

热门文章

  1. nest.js实战之Filter异常处理
  2. 基于Gitee/Github搭建个人博客
  3. Gardon的18岁生日
  4. linux 查看文件列表,linux显示文件列表命令ls,使用ls --help列出所有命令参数
  5. 食物中的天然“血管保护伞”,最好每周吃一次,血管清,人长寿!
  6. spark decimal(38,18)超出38限制的思考
  7. 华大HC32A460 系列介绍(四)
  8. QT5.14.1简单实现百度语音识别(附源码)
  9. STM32F103ZET6+新建工程+点灯实验
  10. 专业音视频播放器:Elmedia Video Player Pro mac中文版