(案例)線性/非線性回歸分析Matlab算例

2021-03-02 胡大大數據

線性/非線性回歸分析Matlab算例

一元線性回歸分析

% 一元回歸x=[1097 1284 1502 1394 1303 1555 1917 2051 2111 2286 2311 2003 2435 2625 2948 3055 3372];%自變量時間序列數據y=[698 872 988 807 738 1025 1316 1539 1561 1765 1762 1960 1902 2013 2446 2736 2825];%因變量時間序列數據%生成一個17*2 矩陣,其中第1 列元素均為1,作為常數項的自變量X=[ones(size(x')),x'];%調用一元回歸分析函數,自變量X 包含常數項和因變量,b 是回歸參數估計值,%bint是置信區間,r 和rint 分別表示殘差及殘差對應的置信區間。[b,bint,r,rint,stats]=regress(y',X,0.05); fprintf('一元線性回歸模型參數為:\n')bfprintf('回歸模型擬合度係數R2為:\n')R2=stats(1)fprintf('回歸模型顯著性檢驗F統計量為:\n')F=stats(2)fprintf('回歸模型顯著性檢驗P值為:\n')PVAL=stats(3)fprintf('回歸模型在置信度區間下殘差分布圖為:\n')rcoplot(r,rint)

一元線性回歸模型參數為:
b =
-479.8659 0.9961
回歸模型擬合度係數R2為:
R2 =
0.9596
回歸模型顯著性檢驗F統計量為:
F =
355.9771
回歸模型顯著性檢驗P值為:
PVAL =
7.3305e-12
回歸模型在置信度區間下殘差分布圖為:

多元線性回歸分析

% 多元回歸分析% 輸入各種因變量數據x1=[5.5 2.5 8 3 3 2.9 8 9 4 6.5 5.5 5 6 5 3.5 8 6 4 7.5 7]';x2=[31 55 67 50 38 71 30 56 42 73 60 44 50 39 55 70 40 50 62 59]';x3=[10 8 12 7 8 12 12 5 8 5 11 12 6 10 10 6 11 11 9 9]';x4=[8 6 9 16 15 17 8 10 4 16 7 12 6 4 4 14 6 8 13 11]';%輸入自變量數據y=[79.3 200.1 163.1 200.1 146.0 177.7 30.9 291.9 160 339.4 159.6 86.3 237.5 107.2 155 201.4 100.2 135.8 223.3 195]';X=[ones(size(x1)),x1,x2,x3,x4];[b,bint,r,rint,stats]=regress(y,X);fprintf('多元線性回歸模型參數為:\n')bfprintf('回歸模型擬合度係數R2為:\n')R2=stats(1)fprintf('回歸模型顯著性檢驗F統計量為:\n')F=stats(2)fprintf('回歸模型顯著性檢驗P值為:\n')PVAL=stats(3)fprintf('回歸模型在置信度區間下殘差分布圖為:\n')rcoplot(r,rint)

多元線性回歸模型參數為:
b =
191.9906 -0.7751 3.1718 -19.6849 -0.4494
回歸模型擬合度係數R2為:
R2 =
0.9034
回歸模型顯著性檢驗F統計量為:
F =
35.0555
回歸模型顯著性檢驗P值為:
PVAL =
1.9022e-07
回歸模型在置信度區間下殘差分布圖為:

非線性回歸分析(編碼計算方式)

% 讀入人口數據(1971-2000年)y = [33815      33981       34004       34165       34212       34327       34344       34458       34498       34476       34483       34488       34513       34497       34511      34520       34507       34509       34521       34513       34515       34517       34519       34519       34521       34521       34523       34525       34525       34527]';% 讀入時間變量數據(t=年份-1970)T=[1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30]';% (Logisic曲線)線性化處理for t = 1:30,    x(t)=exp(-t); %x是行向量,後面使用時要轉成列向量   y(t)=1/y(t,1);end% 計算,並輸出回歸係數Bc=zeros(30,1)+1; %常數項自變量X=[c,x']; fprintf('非線性回歸模型參數為:\n')B=inv(X'*X)*X'*y %inv函數求解矩陣的逆矩陣for i=1:30    z(i)=B(1,1)+B(2,1)*x(i);% 計算回歸擬合值      s(i)=y(i)-sum(y)/30;% 計算離差    w(i)=z(i)-y(i);% 計算誤差    endS=s*s';% 計算離差平方和SQ=w*w';% 回歸誤差平方和QU=S-Q;% 計算回歸平方和U% 計算,並輸出F檢驗值fprintf('回歸模型擬合度係數R2為:\n')R2=U/Sfprintf('回歸模型顯著性檢驗F統計量為:\n')F=(30-2)*U/Q% 計算非線性回歸模型的擬合值for j=1:30,    Y(j)=1/(B(1,1)+B(2,1)*exp(-j));endfprintf('非線性回歸模型的擬合曲線(Logisic曲線):\n')plot(T,Y)

非線性回歸模型參數為:
B =
1.0e-04 *
0.2902 0.0182
回歸模型擬合度係數R2為:
R2 =
0.6310
回歸模型顯著性檢驗F統計量為:
F =
47.8774
非線性回歸模型的擬合曲線(Logisic曲線):

相關焦點

  • 使用Matlab解決多元線性回歸問題
    上期我們分享了使用matlab進行數組最值的搜尋,有同學留言想了解matlab多元線性回歸,安排!
  • SPSS分析技術:非線性回歸;非線性回歸與曲線直線化有哪些異同點及優劣勢?
    ,但是這種方法只適用於曲線關係比較簡單的情況,即可以找到合適的曲線方程將原來的自變量變換將直線關係,然後再利用線性回歸分析,由此可見,曲線直線化的方法有自身缺陷,有些數據情況是曲線直線化方法無法解決的。
  • 案例:用SPSS做一個簡單的非線性回歸
    以前寫過一篇《用SPSS做簡單曲線回歸》的案例文章,主要介紹SPSS曲線回歸的應用。
  • [優化] 《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據
    《MATLAB高效編程技巧與應用:25個案例分析》源程序+數據 所屬分類:計算機 > 計算機輔助設計與工程計算 > Matlab 內容簡介本書是作者八年matlab使用經驗的總結,精心設計的所有案例均來自於國內各大matlab技術論壇網友的切身需求,其中不少案例涉及的內容和求解方法在國內現已出版的matlab書籍中鮮有介紹
  • 怎樣區分線性和非線性_線性與非線性的區別
    4.線性與非線性,常用於區別函數y = f (x)對自變量x的依賴關係。線性函數即一次函數,其圖像為一條直線。其它函數則為非線性函數,其圖像不是直線。5.在數學上,線性關係是指自變量x與因變量yo之間可以表示成y=ax+b ,(a,b為常數),即說x與y之間成線性關係。
  • SPSS統計分析案例:一元線性回歸
    微信號後臺有非常之多的關於回歸分析的留言,作為最常見的統計分析方法,在工作生活中的應用需求量巨大,這兩天已經為大家選好了案例數據,先從一元線性回歸分析開始。一元線性回歸,顧名思義,僅有一個自變量的回歸模型,研究的是一個因素對結果的影響,可以用於預測,也經常被稱之為簡單線性回歸分析。
  • 非線性回歸模型--多項式回歸
    回歸分析可分為線性回歸和非線性回歸。線性回歸分析相信大家都已經非常熟悉了,它主要分析有線性回歸趨勢的兩個變量間的關係。但是在處理許多實際問題時,變量間的關係並非直線關係,例如細菌生長曲線、藥物動力學、毒物劑量與動物死亡率的關係等等。
  • SPSS案例實踐:多重線性回歸分析
    ,統計學上建議稱之為多重線性回歸,避免和多元統計方法衝突。因變量犯罪率連續數值變量,有多個自變量,從研究目標和數據類型來看,可選用多重線性回歸分析。線性關係初步判斷線性回歸要求每個自變量和因變量之間存在線性關係,可以依靠相關分析和散點圖來初步判斷。
  • 機器學習 | 多項式回歸處理非線性問題
    線性回歸中的多重共線性與嶺回歸深度理解Lasso回歸分析在使用線性回歸時,除了遇到以上問題(數據中存在多重共線性、數據維度過高),還會遇到數據並不總是線性的,若此時仍堅持用線性模型去擬合非線性數據,其結果往往是很糟糕的。
  • 線性思維與非線性思維
    此類案例的父母總以遊戲為藉口忽略自己家庭教育的失職。令人沮喪的是,絕大多數人會不假思索地接受上面案例中的觀點。因為我們習慣於線性思維且懶得思考,所以更樂意接受現成的因果關係結論。對系統進行求解的思維有兩種:線性思維和非線性思維。—————————————————————線性思維是一種直線的、均勻的、不變的、單維度的思維方式,是用簡單明了的因果關係來理解系統:定位原因就能解決問題,輸入條件跟輸出結果成正比,從數學角度來看是線性函數關係。
  • Excel數據分析篇:線性回歸
    通過數據間相關性分析的研究,進一步建立自變量(i=1,2,3,…)與因變量Y之間的回歸函數關係,即回歸分析模型,從而預測數據的發展趨勢。 2、分類按照涉及的變量的多少,分為一元回歸和多元回歸分析;按照因變量的多少,可分為簡單回歸分析和多重回歸分析;按照自變量和因變量之間的關係類型,可分為線性回歸分析和非線性回歸分析。
  • 12 線性與非線性
    經常聽到名詞「線性」、「非線性」,或者「非線性系統」,這麼高大上的名詞,看著頭暈。而且在前面的文章中,我們也提到「單因子線性」。
  • 線性模型(一)普通線性回歸到廣義線性模型
    普通線性回歸線性回歸線性模型如何解決非線性問題建模方法論背景線性模型為什麼能解決非線性問題。前者是傳統意義上的線性模型,後者則具有一定非線性的解決能力,尤其是當結合一定的特徵工程(如交叉衍生)後,所謂的線性模型同樣能處理非線性問題。廣義線性模型是普通線性回歸模型的推廣,有多種變體或衍生,以處理更廣泛的現實問題。
  • ANSYS大變形典例:線性與非線性分析差別巨大,如何選擇?
    【要點:在幾何非線性影響較大時,應該進行非線性分析。大轉動問題同樣如此,其亦屬於大變形的範疇,但往往更容易忽視。】結構線性分析的假設主要是小變形假設和材料滿足虎克定律。幾何非線性通常分為大應變、大位移(或大轉動、大撓度等)和應力剛化,一般不加區分的成為「大變形」問題。二者根本區別是結構平衡方程在何位置建立?
  • python機器學習--線性回歸
    python機器學習--線性回歸線性回歸是最簡單的機器學習模型,其形式簡單,易於實現,同時也是很多機器學習模型的基礎。對於一個給定的訓練集數據,線性回歸的目的就是找到一個與這些數據最吻合的線性函數。針對線性回歸算法在之前的數模案例也有涉及喔,歡迎去看看上一篇博客數學建模預測模型實例--大學生體測數據模型在這裡插入圖片描述OLS線性回歸Ordinary Least Squares 最小二乘法一般情況下,線性回歸假設模型為下,其中w為模型參數
  • GRNN神經網絡(Matlab)
    徑向基函數網絡的輸出是輸入的徑向基函數和神經元參數的線性組合,廣義回歸神經網是基於徑向基函數網絡一種改進。廣義回歸神經網絡是建立在數理統計基礎上的徑向基函數網絡,其理論基礎是非線性回歸分析。GRNN具有很強的非線性映射能力和學習速度,比RBF具有更強的優勢,網絡最後普收斂於樣本量集聚較多的優化回歸,樣本數據少時,預測效果很好,網絡還可以處理不穩定數據。
  • MATLAB萬能實用的非線性曲線擬合方法
    在科學計算和工程應用中,經常會遇到需要擬合一系列的離散數據,最近找了很多相關的文章方法,在這裡進行總結一下其中最完整、幾乎能解決所有離散參數非線性擬合的方法根據你的實際問題得到一系列的散點例如:根據上述的實際散點確定應該使用什麼樣的曲線,或者說是想要模擬的曲線
  • 非線性與線性的區別是什麼?
    線性與非線性的區別非線性是相對於線性而言的,是對線性的否定,線性是非線性的特例,所以要弄清非線性的概念,明確什麼是非線性,首先必須明確什麼是線性,其次對非線性的界定必須從數學表述和物理意義兩個方面闡述,才能較完整地理解非線性的概念。
  • 線性回歸分析詳解10(完結篇):線性回歸分析預測的十大步驟
    許栩原創專欄《從入門到高手:線性回歸分析詳解》第10章,這是本專欄的最後一章,是專欄的完結篇:用線性回歸分析做預測,多元線性回歸分析預測的十大步驟。線性回歸分析專格欄總目錄請見上圖,前9章,我分別講述了回歸分析及與回分析相關的概念,一元、多元線性回歸分析的公式與計算方法,以及多重共線性、回歸方程的精度、顯著性驗證和置信區間等進行回歸分析的重要步驟及其計算方法。至此,以回歸分析進行需求預測的各項知識點及各項準備工作全部完成,我們可以正式的以回歸分析進行需求預測。
  • 如何用Matlab/Python/Stata做簡單回歸分析
    來源:金融民工新語 作者:劉新宇 NO.1 |問題描述: (1)簡單的描述性統計:均值、中位數等 (2)求出多個變量的相關係數矩陣 (3)求出簡單多元線性回歸的係數