应用回归分析之非线性模型变换为线性模型(Mathematica版本)

王祥赛 2017年11月15日15:31:33
评论
3153字阅读10分30秒
摘要这一篇文章我们会使用mathematica来实现非线性模型通过变换变成线性模型。我们会举一个石油产量与年份关系的数据来说明这个问题。

 

例题解析

 

题目描述: 石油产量数据:表中数据是1880-1988年间以百万桶计的世界原油年产量,数据取自Moore和McCabe

(a)构造一个石油产量(OLL)对年份的散点图,并观察图像中点的散布呈非线性状,为了对这些数据拟合线性模型,必须对OLL做变换

(b)构造log(OLL)对年份的散点图。

(c)将log(OLL)对年份做线性回归,评价模型的拟合效果

(d)构造残差的标准序列图,该图显示了哪一条标准假定被违反了?

 

数据如下:

 


{{1880., 30.}, {1890., 77.}, {1900., 149.}, {1905., 215.}, {1910., 328.}, {1915., 432.}, {1920., 689.}, {1925., 1069.}, {1930., 1412.}, {1935., 1655.}, {1940., 2150.}, {1945., 2595.}, {1950., 3803.}, {1955., 5626.}, {1960., 7674.}, {1962., 8882.}, {1964., 10310.}, {1966., 12016.}, {1968., 14104.}, {1970., 16690.}, {1972., 18584.}, {1974., 20389.}, {1976., 20188.}, {1978., 21922.}, {1980., 21722.}, {1982., 19411.}, {1984., 19837.}, {1986., 20246.}, {1988., 21338.}}

 

==1.a问解答==

 

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

从图中可以看出,石油产量明显与年份不成线性关系,因此我们要进行变量变换将其转化为线性模型进行建模,初步观察其特点,我们猜想其具有指数模型,我们可以将两边取对数转化为线性模型

==2.b问解答==

 

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

 

我们在取完对数后绘制的图形如上,可以观察到点基本分布在一条直线附近了,因此我们可以用线性模型进行拟合

 

==3.c问解答==

 

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

 

调用LinearModelFit命令计算出拟合直线,同时我们将直线绘制到散点图中,发现拟合的非常好,这坚定了我们的猜想,计算出拟合优度发现拟合度相当高

==4.d问解答==

 

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

绘制残差序列图如上,我们发现残差并不是呈带状随机分布的,而是有明显的函数规律,这与之前误差之间相互独立的标准假定相违背

 

总的程序如下:

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

 

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

 

总的结果如下:

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

 

应用回归分析之非线性模型变换为线性模型(Mathematica版本)

 

  • 微信公众号
  • 关注微信公众号
  • weinxin
  • QQ群
  • 我们的QQ群号
  • weinxin
王祥赛
  • 本文由 发表于 2017年11月15日15:31:33
  • 转载请务必保留本文链接:https://mathpretty.com/8689.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: