前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用MATLAB的fitlm函数进行线性回归

使用MATLAB的fitlm函数进行线性回归

作者头像
Alan Lee
发布2018-01-02 16:35:11
3.6K0
发布2018-01-02 16:35:11
举报
文章被收录于专栏:Small CodeSmall Code

今天在做《数理统计》关于线性回归的作业,本来用R已经做出来了,但是由于最近使用matlab很多,所以也想看看用matlab怎么做。

matlab中有很多函数可以做各种各样的回归,也有cftool工具箱可以可视化的做回归,很方便。这里选用fitlm做回归,由于多元回归和一元回归基本思想是差不多的,操作也只是参数个数的问题,所以这里用一元线性回归做例子,记录下来以备后用。

数据选用R中的自带数据:cars数据集,是一个关于汽车速度和距离的数据,50*2的矩阵。

cars数据部分
cars数据部分

采用一元线性回归模型进行回归,公式这里就不说了,dist为因变量,speed为自变量。 代码来了:

代码语言:javascript
复制
clear
data = xlsread('D:\Program Files\RStudio\cars.xlsx');
x = data(:, 1);
y = data(:, 2);
tb = table(x, y, 'VariableNames', {'speed', 'dist'});
model = fitlm(tb, 'dist~speed');
plot(model);

model里含有模型的各种参数,估计值,R2值,p值等等等等。

代码语言:javascript
复制
model = 


Linear regression model:
    dist ~ 1 + speed

Estimated Coefficients:
                   Estimate      SE        tStat       pValue  
                   ________    _______    _______    __________

    (Intercept)    -17.579      6.7584    -2.6011      0.012319
    speed           3.9324     0.41551      9.464    1.4898e-12


Number of observations: 50, Error degrees of freedom: 48
Root Mean Squared Error: 15.4
R-squared: 0.651,  Adjusted R-Squared 0.644
F-statistic vs. constant model: 89.6, p-value = 1.49e-12

可以看出输入形式和输出形式与R的输出及其相似。

最后plot画出回归图。

这里写图片描述
这里写图片描述

好了,该吃饭去了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-12-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档