MATLAB线性回归算法浅析赤峰房价

每日一句

房子不是你想买想买就能买。

基础介绍

线性回归算法是处理回归问题的常用方法,下面就线性回归算法来做一个简单的模型。通过走势模拟房子售价。

通过数据样本的基本绘图,可以知道某个现象是不是一个线性的分布过程,并且按一次线性方程分布。

那么就可以用下面的方法实现。

科普时间

线性回归模型,其核心思想为代价函数以及平方差函数:

假设函数:

目标函数:

过学习算法找到一个局部最优解,使得代价函数的值最小。

使用梯度下降的算法寻找局部最优解的公式:

回归结果

得到最优解后,我们就可以得到我们想要的假设函数来拟合我们的数据样本。

从图上可以知道,利用线性回归存在一定偏差。

因为这部完全算是一个线性问题,包含很多政策、经济原理。

我们但是通过这个走势可以让我们明白涨是一个趋势,下一步进行非线性探索。

代码

y=[727672797291734973817450760478588053 8271 8477 8659];

theta1=0;%一次系数

theta0=0;%常系数

v=0.00001;%步长

[row,col]=size(x);%theta初始化 初值选取对结果影响也很大,特别是theta2的选取

theta1 = mean(y)/mean(x)

theta0 = y(1)-theta1*x(1)

while1

temp1=0;

temp0=0;

fori=1:col

temp1 = temp1 + ((y(i) - (theta1*x(i) + theta0)) * x(i));

temp0=temp0+((y(i)-(theta1*x(i)+theta0))*1);

end

old_theta1=theta1;

old_theta0=theta0;

theta1 = theta1+ v*temp1;

theta0 =theta0 + v*temp0;

temp1=0;

temp0=0;

%误差

e =((old_theta1-theta1)^2+(old_theta0-theta0)^2);

ife

f=theta1*x+theta0;

plot(x,y,'r+',x,f)

break;

end

end

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180730G1C5S700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券