当前位置: 首页 > news >正文

网站托管服务适用于今日头条新闻最新

网站托管服务适用于,今日头条新闻最新,wordpress重装教程视频,企业网站建设哪里做网站好关于回归和拟合,从它们的求解过程以及结果来看,两者似乎没有太大差别,事实也的确如此。从本质上说,回归属于数理统计问题,研究解释变量与响应变量之间的关系以及相关性等问题。而拟合是把平面的一系列点,用…

关于回归和拟合,从它们的求解过程以及结果来看,两者似乎没有太大差别,事实也的确如此。从本质上说,回归属于数理统计问题,研究解释变量与响应变量之间的关系以及相关性等问题。而拟合是把平面的一系列点,用一条光滑曲线连接起来,并且让更多的点在曲线上或曲线附近。更确切的说,拟合是回归用到的一种数学方法,而拟合与回归的应用场合不同。

拟合常用的方法有最小二乘法梯度下降法高斯牛顿(即迭代最小二乘)列-马算法。其中最最常用的就是最小二乘法。并且拟合可以分为线性拟合与非线性拟合,非线性拟合比较常用的是多项式拟合。根据自变量的个数,拟合也可以分为曲线拟合与曲面拟合等。

回归大多数采用最小二乘法。回归可以分为一元线性回归、一元非线性回归、多元线性回归、多元非线性回归等。

1、最小二乘法


无论是在高等数学、线性代数,还是数理统计,我们都可以看到最小二乘法的身影。只不过每一部分侧重点不同,最终是殊途同归的。但是建议用矩阵的方法来做,这样很便于理解,计算起来也很方便。

最小二乘法的基本思路是:确定函数f(x),使得各个点x1,x2..xn处的函数值偏差f(x1)-y1、f(x2)-y2...f(xn)-yn的平方和或绝对值和最小。如果是一元线性拟合(回归),我们可以设方程为f(x)=kx+b。

这时我们求得函数值偏差平方和为f=\sum [y_i -(kx_i+b)]^2。为了求它的最小值,利用高数的方法,就可以使M分别对k和b的偏导为0,最终求解得方程组:

公式1\frac{\mathrm{d}f }{\mathrm{d} k} = -2\sum (y_i - kx_i-b)x_i = -2(\sum y_ix_i-k\sum x_{i}^{2}-b\sum x_i) = 0

公式2 :\frac{\mathrm{d}f }{\mathrm{d} b} = -2\sum (y_i - kx_i-b) = -2(\sum y_i-k\sum x_{i}-b\sum ) = -2(\sum y_i-k\sum x_{i}-Nb ) = 0

由式2括号内为0,则有b的表达式

公式3 b = \frac{\sum y_i}{N} - k \frac{\sum x_i}{N } = \overline{y} - k\overline{x}

将式(3)代入到式(2)中得到式(4)

公式4 \sum y_ix_i - k\sum x_{i}^{2} - (\overline{y} - k\overline{x})\sum x_i = 0

整理式(4)我们可以得到k的表达式

公式5 k = \frac{\sum y_ix_i - \overline{y}\sum x_i}{\sum x_{i}^{2}-\overline{x}\sum x_i} = \frac{\sum y_ix_i - N\overline{x}\overline{y}}{\sum x_{i}^{2}-N\overline{x}^2}

如果用线性代数的角度来看其实矩阵表达更加简洁,我们最终需要寻找最佳的k和b :

公式6 \left\{\begin{matrix} y_1 = kx_1+b & & & & \\ y_2 = kx_2+b & & & & \\ . & & & & \\ . & & & & \\ y_N = kx_N+b & & & & \end{matrix}\right.

写成矩阵的形式:

公式7 \begin{bmatrix} y_1\\ y_2\\ .\\ .\\ y_N\\ \end{bmatrix} = \begin{bmatrix} x_1 & 1 \\ x_2&1 \\ .&. \\ . &.\\ x_N & 1\\ \end{bmatrix}\begin{bmatrix} k\\ b\\ \end{bmatrix}

令 Y =\begin{bmatrix} y_1\\ y_2\\ .\\ .\\ y_N\\ \end{bmatrix}K=\begin{bmatrix} k\\ b\\ \end{bmatrix}X=\begin{bmatrix} x_1 & 1 \\ x_2&1 \\ .&. \\ . &.\\ x_N & 1\\ \end{bmatrix}

我们可以写成矩阵形式:

公式8 Y= KX

我们要解K,这时候X如果是方阵那么自然的就可以左右两边同时乘X的逆,但是如果X不是方阵(行数大于列数),我们可以左右同乘以X的转置,转换为方阵再取逆(当然能取逆的前提是行列式不能为0),具体如下,求得的逆叫做伪逆:

公式9 Y= KX  =>  X^TY = X^TXK=> (X^TX)^{-1}X^TY = (X^TX)^{-1}X^TXK 

所以解得K的值:

公式10 K = (X^TX)^{-1}X^TY

2、matlab实现

现在有这么一组数据 

xy
0.11.7805
0.32.2285
0.42.3941
0.753.2226
0.93.5697

我们利用matlab进行绘制散点图查看一下

x=[0.1;0.3;0.4;0.75;0.9]; 
y=[1.7805;2.2285;2.3941;3.2226;3.5697];
plot(x,y,'o')
xlim([0,1]);
ylim([1.6,3.7]);
hold on;

可以看出满足很好的线性关系,下面我们用上述最小二乘法的思想求一下拟合直线的k 和b :

方法1:代数方法计算

N=length(x);
k=(sum(y.*x)-N*mean(y)*mean(x))/(sum(x.^2)-N*mean(x)^2);
b=mean(y)-k*mean(x);
x_line=linspace(0,1,101);
y_line=k*x_line+b;
plot(x_line,y_line,'Color','r','LineWidth',1)

 

查看k和b的值:

k=2.2411
b=1.5409

 方法2:矩阵计算

N=length(x);
X=[x,ones(N,1)];
Y=y;
K=inv(X'*X)*X'*Y;
k=K(1);
b=K(2);
x_line=linspace(0,1,101);
y_line=k*x_line+b;
plot(x_line,y_line,'Color','r','LineWidth',1)

查看k和b的值:

k=2.2411
b=1.5409

至此,我们可以看到两种方法的结果是一样的。

http://www.yidumall.com/news/13104.html

相关文章:

  • wordpress怎么修改网页搜索引擎优化学习
  • 网站营运挖掘关键词的工具
  • dedecms模板 中医院网站全套模板百度中心人工电话号码
  • 制作网站报价单seo课程在哪培训好
  • seo有些什么关键词网站排名优化工具
  • 做5173这样的网站要多少人石家庄seo关键词
  • 爱星光(istar)高端网站建设重庆seo优
  • 硬件产品开发流程图sem优化托管公司
  • 如何弄网站排名网络小说网站三巨头
  • 青岛品牌网站建设今日热点新闻事件
  • 搜索引擎seo是什么意思seo公司推广宣传
  • 西安网站优化效果百度seo收录
  • 不懂代码wordpress旺道seo系统
  • 整屏滚动网站深圳网络推广市场
  • 怎样推广appseo排名优化软件
  • 哪个网站做的系统好用百度推广后台登陆
  • 搭建个人网站的两种方法杭州seo网站排名优化
  • 赚钱网站入口今日头条新闻
  • 中英文切换的网站怎么做网站上做推广
  • 旅游网站网页布局聊城网站seo
  • nas 做网站服务器百度百家
  • 无锡网站建设价格低网络营销策划书
  • 天津手机网站建站培训网络运营推广合作
  • 无锡市政设施建设工程有限公司优化是什么意思
  • 义乌来料加工网网站seo好学吗
  • 房天下网站建设成都市seo网站公司
  • wordpress网站怎么仿谷歌推广运营
  • 自己做刷东西的网站十大网络推广公司
  • 别人给公司做的网站字体侵权吗最近一周国内热点新闻
  • 企业怎么样上各大网站做宣传游戏推广怎么快速拉人