之前研究过基于「线性回归+卡尔曼滤波」的油位监控方法,最近把当时的MATLAB代码又找出来看,并用Python重新实现了一下,下面是线性回归部分:
MATLAB代码
回归函数:
执行回归并画图:
执行结果:
MATLAB中regress函数可以用来作多维线性回归分析,一元线性回归是多维线性回归的特殊情况,其返回的是一个1x4的向量stats,其元素依次为判定系统、统计量的观测值、检验的p值和误差方差的估计值。
Python代码
回归及画图函数:
测试:
执行结果:
在scikit-learn.org网站上可以看到,Regression包含了很多内容:Generalized Linear Models、Linear and Quadratic Discriminant Analysis、Kernel ridge regression、Support Vector Machines、Stochastic Gradient Descent、Naive Bayes、Decision Trees、Neural network models等。
今天说的是Generalized Linear Models的一种方法:Ordinary Least Squares,使用的是linear_model.LinearRegression()方法,LinearRegression有四个默认参数:
LinearRegression(copy_X=True, fit_intercept=True, n_jobs=1, normalize=False)
fit_intercept 是否对数据进行中心化。
normalize 是否对数据进行标准化处理。
copy_X 是否对X复制。
n_jobs 计算时设置的任务个数
领取专属 10元无门槛券
私享最新 技术干货