多项式回归也称多元非线性回归,是指包含两个以上变量的非线性回归模型。对于多元非线性回归模型求解的传统解决方案,仍然是想办法把它转化成标准的线性形式的多元回归模型来处理。

多元非线性回归分析方程

  如果自变数与依变数Y皆具非线性关系,或者有的为非线性有的为线性,则选用多元非线性回归方程是恰当的。例如,二元二次多项式回归方程为:

  

  令,及于是上式化为五元一次线性回归方程:

  

  这样以来,便可按多元线性回归分析的方法,计算各偏回归系数,建立二元二次多项式回归方程。

-参考文献:智库百科,点击打开

多元二项式回归Matlab实现方法

1、多元二项式回归Matlab命令

rstool(x,y,'model',alpha)
输入参数说明:
x:n*m矩阵;
Y:n维列向量;
alpha:显著性水平(缺省时为0.05);
mode:由下列4个模型中选择1个(用字符串输入,缺省时为线性模型)
  'model'对应的字符串有:'linear'%线性常数和线性项(默认值)
  'interaction'%常数、线性和相互作用项
  'quadratic'%纯二次拟合函数
  'purequadratic'%

2、实例演示说明

设某商品的需求量与消费者的平均收入、商品价格的统计数据如下,建立回归模型,预测平均收入为1000、价格为6时的商品需求量

需求量(y) 100 75 80 70 50 65 90 100 110 60
收入(x1) 1000 600 1200 500 300 400 1300 1100 1300 300
价格(x2) 5 7 6 6 8 7 5 4 3 9

解法一:选择纯二次模型'model'='quadratic'

y=β0+β1x1+β2x2+β11x1^2+β22x2^2
%直接用多元二项式回归如下
x1=[1000 600 1200 500 300 400 1300 1100 1300 300];%1*10矩阵
x2=[5 7 6 6 8 7 5 4 3 9];%1*10矩阵
y=[100 75 80 70 50 65 90 100 110 60]';%1*10矩阵
x=[x1' x2'];%10*2矩阵
rstool(x,y,'purequadratic')


在x1对应的文本框中输入1000,X2中输入6,敲回车键,此时图形和相关数据会自动更新
此时在GUI左边的“Predicted Y1”下方的数据变为88.47981,表示平均收入为1000、价格为6时商品需求量为88.4791
点击左下角的Export按钮,将会导出回归的相关参数beta、rmse和residuals到工作空间(workspace)
在Export按钮下面可以选择回归类型
在Matlab命令窗口中输入
>>beta, rmse
beta =
110.5313%常数项
0.1464
-26.5709
-0.0001
1.8475
rmse =
4.5362%均方根误差
由此得回归模型为:y=110.5351+0.1464x1-26.5709x2-0.0001x1^2+1.8475x2^2

解法二:将上面的模型转换为多元线性回归

y=β0+β1x1+β2x2+β11x1^2+β22x2^2  疑问:为什么没有变量x1*x2呢?官方例子有:地址
>>X=[ones(10,1) x1' x2' (x1.^2)' (x2.^2)'];
>>[b,bint,r,rint,stats]=regress(y,X);
>>b,stats
b =
110.5313
0.1464
-26.5709
-0.0001
1.8475
stats =
0.9702 40.6656 0.0005 20.5771%相关系数R^2、F值、与F值对应的概率(P值)、误差方差估计值

Matlab多项式回归实现的更多相关文章

  1. Machine Learning – 第2周(Linear Regression with Multiple Variables、Octave/Matlab Tutorial)

    Machine Learning – Coursera Octave for Microsoft Windows GNU Octave官网 GNU Octave帮助文档 (有900页的pdf版本) O ...

  2. Matlab与数学建模

    一.学习目标. (1)了解Matlab与数学建模竞赛的关系. (2)掌握Matlab数学建模的第一个小实例—评估股票价值与风险. (3)掌握Matlab数学建模的回归算法. 二.实例演练. 1.谈谈你 ...

  3. 数学建模学习笔记 | matlab基本命令及用法

    前言 数学建模对matlab水平的要求 了解matlab的基本用法,如常用命令.脚本结构.矩阵的基本操作.绘图等: 熟悉matlab的程序结构,能创建和引用函数: 熟悉常见模型的求解算法和套路: 自主 ...

  4. Matlab 绘制三维立体图(以地质异常体为例)

    前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...

  5. Matlab slice方法和包络法绘制三维立体图

    前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...

  6. Matlab 高斯_拉普拉斯滤波器处理医学图像

    前言:本程序是我去年实现论文算法时所做.主要功能为标记切割肝脏区域.时间有点久,很多细节已经模糊加上代码做了很多注释,因此在博客中不再详述. NOTE: 程序分几大段功能模块,仔细阅读,对解决医学图像 ...

  7. MATLAB中绘制质点轨迹动图并保存成GIF

    工作需要在MATLAB中绘制质点轨迹并保存成GIF以便展示. 绘制质点轨迹动图可用comet和comet3命令,使用例子如下: t = 0:.01:2*pi;x = cos(2*t).*(cos(t) ...

  8. linux下配置matlab运行环境(MCR)

    在安装好的matlab下有MCR(MatlabCompilerRuntime)在matlab2011/toolbox/compiler/deploy/glnxa64下找到MCRInstaller.zi ...

  9. EMD分析 Matlab 精华总结 附开源工具箱(全)

    前言: 本贴写于2016年12与15日,UK.最近在学习EMD(Empirical Mode Decomposition)和HHT(Hilbert-Huang Transform)多分辨信号处理,FQ ...

随机推荐

  1. 自定义Mybatis框架

    项目结构:      https://files-cdn.cnblogs.com/files/mkl7/ownMybatis.zip 1. 创建maven工程并引入坐标: <?xml versi ...

  2. day05.1-文件归档与压缩

    >:覆盖式修改文件内容.如: a). cat   /etc/passwd   >   new_pass.txt(将/etc/passwd中的内容覆盖式复制到new_pass.txt中,若n ...

  3. windwos下安装nginx(转)

    1.windows下安装Nginx1.1 从nginx官网下载相应的安装包:http://nginx.org/  1.2 建议下载  下载稳定版 1.3 解压到相应的目录,比如我是e盘 然后修改目录名 ...

  4. 常用linux基础命令(持续更新...)

    删除 空目录 rmdir非空目录 rm -rf 目录名字-r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 删除文件命令rm -f 文件名将会强行删除文件,且无提 ...

  5. 记一次IIS应用程序域崩溃的原因

    在日常工作中,每次新的功能上线前,我们会搭建一个测试环境提供给客户测试使用,确定无误后才会更新到正式环境上.这一次也不例外,在约定好时间地点,客户进行集中化测试的过程中,反应网站系统打不开,报500错 ...

  6. P4012 深海机器人问题

    \(\color{#0066ff}{题目描述}\) 深海资源考察探险队的潜艇将到达深海的海底进行科学考察. 潜艇内有多个深海机器人.潜艇到达深海海底后,深海机器人将离开潜艇向预定目标移动. 深海机器人 ...

  7. CF580B Kefa and Company 尺取法

    Kefa wants to celebrate his first big salary by going to restaurant. However, he needs company. Kefa ...

  8. kuangbin专题十六 KMP&&扩展KMP POJ2406 Power Strings

    Given two strings a and b we define a*b to be their concatenation. For example, if a = "abc&quo ...

  9. Redis学习笔记(1)—— NoSQL&Redis简介

    一.NoSQL概述 1.1 什么是NoSQL NoSQL(NoSQL = Not Only SQL),意指“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库. 1.2 为什么需要NoSQ ...

  10. Helvetic Coding Contest 2016 online mirror A1

    Description Tonight is brain dinner night and all zombies will gather together to scarf down some de ...