数据建模与分析线性回归小论文

数据建模与分析线性回归小论文

ID:12102123

大小:732.00 KB

页数:17页

时间:2018-07-15

数据建模与分析线性回归小论文_第1页
数据建模与分析线性回归小论文_第2页
数据建模与分析线性回归小论文_第3页
数据建模与分析线性回归小论文_第4页
数据建模与分析线性回归小论文_第5页
资源描述:

《数据建模与分析线性回归小论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、上海住房面积和房价的线性回归分析王明黔(上海大学机电工程与自动化学院,上海200444)摘要:在数据构建统计模型的学习中,统计学习是其一种基础的学习方法。本文针对城市人口数目与饮品连锁店利润的关系,就已有的数据进行线性回归分析,利用Matlab工具进行数据的线性回归模拟,进而得出城市人口数目与饮品连锁店利润的散点图、拟合直线图和三维等高线图。为了分析上海地区的住房面积和房价的关系,收集最近的售房成交数据,将数据导入到Matlab进行分析,得出上海房价与住房面积的线性关系。关键词:Matlab;线性回归;目标函数;梯度下降;统计学习基于数据的机器学习是现代智能技术中十分重要

2、的一个方面,主要研究如何从一些观测数据(样本)出发,得出目前尚不能通过原理性分析得到的规律,并用以对未来数据或无法观测的数据进行预测。现实生活中大量存在我们尚无法准确认识但却可以进行观测的事件。因此,这种机器学习在从现代科学、技术到社会、经济等各领域中都有着十分重要的应用[1]。使用线性回归方法可以对一些观测数据进行分析,把预测事件中一些因素作为自变量,另一些随自变量变化而变化的变量作为因变量,研究它们之间的非确定性因果关系,以便预测因变量的未来发展趋势。根据若干观测数据寻找描述变量之间的函数或统计相关关系的最佳数学表达式,或者匹配数据之间相关关系的最佳拟合曲线,来表达随

3、机性变量间的规律[2]。利用线性回归通过多变量机器学习的方法,可以建立上海住房面积和价格的线性关系,建立数学模型并评估其中的未知参数。1案例分析1.1目标函数的建立根据已知给出的城市人口数目与饮品连锁店利润的一些数据,可以得到一个样本集,如图1,为样本在Matlab软件加载数据图,第一列表示城市人口数目,第二列表示饮品连锁店利润。图1城市人口数目与饮品连锁店利润的样本集Fig1Urbanpopulationandbeveragechainprofitsofsampleset-17-针对样本集,我们可以假设一个线性模型:(1)式中:——假设的线性模型;——样本/特征;——参

4、数。其中,为模型参数,因此问题就可以转换为,求出的值。为了得到较为准确的回归线,应该满足一个前提,即各样本点尽可能分布在所建立的线性模型周围,因此我们建立目标函数:(2)式中:——向量中的第个元素;——向量中的第个元素;——模型假设;——训练集的数量。因此,我们只要求得使上述函数的值最小时的的值。1.2目标函数的求解我们首先从一组开始,利用最速下降法不断改变的值来减小,直到达到我们希望得到的最小值[3]。对于最速下降法,可利用以下公式而来求解:(3)式中:——学习速率(步长);——下降方向。其中α为修正学习速率,即搜索的步长,当α过小,会延长搜索的时间,当α过大,可能会错

5、过极值点,导致不收敛。还有要注意最速下降法会收敛到局部最小值的情况,这种情况即便修正学习速率也不会改变结果,并且接近局部最小值时,因为斜率的减小最速下降法会自动减少每步的补偿[4]。因此,我们要现注意目标函数的极小值情况,如果有局部最小值可通过调节α参数的大小来跳过局部最小值情况,否则,就不需跳过,最终通过多次迭代可以得到最终的理想结果。-17-1Matlab求解2.1最速下降法的循环语句在Matlab程序中,最速下降法是一个不断迭代循环的过程,且确保同时更新,具体循环如下:2.2ComputeCost函数的定义J函数即目标函数,m代表数据的个数,具体程序如下:funct

6、ionJ=computeCost(X,y,theta)m=length(y);J=0;predictions=X*theta;J=1/(2*m)*(predictions-y)'*(predictions-y);end2.3gradientDescent函数的定义GradientDescent函数就是最速下降法的迭代与循环过程[5],具体如下:function[theta,J_history]=gradientDescent(X,y,theta,alpha,num_iters)m=length(y);J_history=zeros(num_iters,1);foriter

7、=1:num_iterstemp1=theta(1)-(alpha/m)*sum((X*theta-y).*X(:,1));temp2=theta(2)-(alpha/m)*sum((X*theta-y).*X(:,2));theta(1)=temp1;theta(2)=temp2;J_history(iter)=computeCost(X,y,theta);endend1.4散点图的绘制具体的数据已经根据一定格式记录在txt文件中,因此只需调取其中的数据并将散点绘制到图中[6],具体程序如下:functionplotData

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。