一元线性回归模型

回归:

回归问题分两个过程:模型的学习和预测。基于给定的训练数据构建一个模型,根据新的输入数据输出预测值。

回归问题的类型,按照输入变量的个数分为:一元回归和多元回归;按照输入变量和输出变量之间关系的类型,分为:线性回归和非线性回归。

一元线性回归:

回归分析只涉及到两个变量,主要是从两个变量中的一个变量取估计另一个变量,被估计的变量称为因变量,设为Y,估计出的变量成为自变量,设为X,回归分析只要是找出一个数学模型Y=f(x)

一元线性函数:

误差:真实值与预测数值之间存在误差ε,且误差服从高斯分布:

         (1)

每个样本都有:

(2)

将2式带入1式

似然函数:似然函数是参数的函数,误差服从高斯分布,根据结果求参数,似然函数最重要的是在哪个参数值下,对应的似然函数最大。

对应的似然函数:

对数似然:

 

 

求w:

化简根据两个公式:

 

该公式的推导过程如下:

 

最后求解得:

代码实现过程:

import numpy as np

#y = wx+b

def linear_regression_model(X,y):
    length = len(X)
    avgx = np.mean(X)
    avgy = np.mean(y)
    numberator = denominator = 0
    for i in range(length):
        numberator += (X[i] - avgx)*(y[i]-avgy)
        denominator += (X[i]-avgx)**2
    w = numberator/denominator
    b = avgy - w*avgx
    return w, b
def predict(w,b,x_test):
    return w*x_test + b

if __name__ == "__main__":
    X = [4,8,5,10,12]
    y = [20,50,30,70,60]
    w, b = linear_regression_model(X,y)
    print(w, b)
    print(predict(w, b ,5))

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值