亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Matlab矩陣運算的多元回歸函數(shù)編程

        2015-05-30 10:48:04鄔汝威
        軟件工程 2015年11期
        關(guān)鍵詞:多元線性回歸

        摘 要:多元線性回歸是計量分析中最常用的方法之一,在經(jīng)濟(jì)學(xué)、金融學(xué)和管理學(xué)中運用廣泛。線性回歸方法依賴于矩陣和向量的運算,因此以矩陣運算為內(nèi)核的Matlab是理想的編程平臺。本文以開發(fā)多元線性回歸函數(shù)作為例子,著重分析Matlab自定義函數(shù)的設(shè)計理念,同時突出varargin、nargin等特殊函數(shù)的代碼編寫。通過交叉運用線性代數(shù)、概率統(tǒng)計等數(shù)學(xué)工具,本文為計量研究人員提供了新的編程視角。

        關(guān)鍵詞:矩陣運算;Matlab;多元線性回歸;函數(shù)編程

        中圖分類號:TP311.1 文獻(xiàn)標(biāo)識碼:A

        1 引言(Introduction)

        普通最小二乘法(Ordinary Least Square,以下簡稱OLS)是最重要的多元線性回歸法,該方法被廣泛地應(yīng)用于各種定量分析領(lǐng)域[1]。目前,許多主流計量分析軟件都支持OLS回歸法,比如SAS、R、Eviews等。Matlab也能夠?qū)崿F(xiàn)多元線性回歸,其自帶的Statistics Toolbox和Econometrics Toolbox提供了比較豐富的計量分析功能。既然有現(xiàn)成的回歸分析軟件,為什么還要自己編寫原始代碼?原因有以下兩點。第一,計量經(jīng)濟(jì)學(xué)的發(fā)展是日新月異的,上述主流回歸分析軟件的更新無法跟上計量經(jīng)濟(jì)學(xué)的前進(jìn)步伐。通過對原始代碼的詳細(xì)分解,能夠讓廣大研究人員掌握回歸分析的核心編程思路。第二,計量經(jīng)濟(jì)學(xué)的難點在于線性代數(shù)和概率統(tǒng)計,在實踐中學(xué)習(xí)是掌握各種計量工具的關(guān)鍵。通過編程,有利于更好地吸收回歸分析知識。

        多元線性回歸的代碼設(shè)計包括數(shù)據(jù)儲存、矩陣運算、結(jié)果輸出等環(huán)節(jié)。本文先從Matlab自定義函數(shù)編程出發(fā),利用varargin、nargin等特殊函數(shù)處理變量數(shù)據(jù)。之后利用Matlab強大的矩陣運算功能得到回歸分析統(tǒng)計量,并將回歸結(jié)果以表格形式輸出。目前,國內(nèi)有少量的文獻(xiàn)涉及Matlab計量編程,這些研究存在一些可改進(jìn)之處。首先,回歸方程的變量數(shù)目應(yīng)該由用戶自定義。在計量經(jīng)濟(jì)學(xué)的實際應(yīng)用中,控制變量的篩選是不確定的。借助Matlab內(nèi)置的varargin、nargin等函數(shù),本文的程序能夠有效地處理多個解釋變量,即可以實現(xiàn)變量數(shù)目的自定義。其次,回歸結(jié)果應(yīng)該給出完整的統(tǒng)計量,不應(yīng)該僅僅提供系數(shù)大小。本文的Matlab程序給出了回歸系數(shù)、標(biāo)準(zhǔn)誤、P值等統(tǒng)計量,符合計量分析的學(xué)術(shù)標(biāo)準(zhǔn)。再次,回歸結(jié)果可以用表格形式輸出。Matlab的內(nèi)置table函數(shù)提供了豐富的輸出選項,在多元回歸的情況下可以用table函數(shù)批量地輸出各種統(tǒng)計量。

        2 線性回歸法的理論回顧(Review of linear regression)

        用表示被解釋變量,表示自變量,表示干擾項,那么總體線性方程可以表示為[2]:

        用表示被解釋變量的向量形式,表示自變量的矩陣形式,表示樣本容量,我們可以得到回歸系數(shù):

        在同方差條件下,顯著性檢驗所需的標(biāo)準(zhǔn)誤可以由下式計算得到[3]:

        3 常用的內(nèi)置函數(shù)(Essential built-in functions)

        為了構(gòu)建完整的多元計量分析程序,我們將代碼分為多個模塊。一個完整的計量分析程序可以被分為三個模塊,數(shù)理統(tǒng)計模塊、矩陣運算模塊和結(jié)果輸出模塊。數(shù)理統(tǒng)計模塊是回歸參數(shù)檢驗的重要部分,我們需要借助Matlab內(nèi)置的數(shù)學(xué)函數(shù)來計算各種統(tǒng)計量。矩陣運算是Matlab的強項[3],在求回歸參數(shù)時需要用到diag函數(shù)。輸出模塊也非常關(guān)鍵,內(nèi)置的table函數(shù)能夠使回歸結(jié)果以簡潔的表格形式輸出。在正式編寫回歸分析程序之前,我們先回顧一下將要涉及的Matlab內(nèi)置函數(shù)。

        3.1 用于顯著性檢驗的tcdf函數(shù)

        在計量分析中t分布具有重要作用,t分布可以用來檢驗?zāi)硞€解釋變量的顯著性。為了得到P值,我們需要計算t統(tǒng)計量。假定某個自變量的系數(shù)為,那么該變量的t統(tǒng)計量計算公式為,其中表示解釋變量的標(biāo)準(zhǔn)誤。利用Matlab內(nèi)置的tcdf函數(shù),我們可以得到任意自由度的t統(tǒng)計量。比如,某個變量的t值為-2.39,自由度為296,那么求相應(yīng)P值的代碼為(這里還用到了求絕對值的abs函數(shù)):

        pValue=(1-tcdf(abs(-2.39),296))*2

        3.2 矩陣運算與diag函數(shù)

        多元回歸方法涉及大量的矩陣運算,因此我們可以借助Matlab進(jìn)行與矩陣相關(guān)的操作。比如,先用ones內(nèi)置函數(shù)構(gòu)造一個元素全為1的5×5矩陣,將該矩陣命名為mat1。再將該矩陣與其轉(zhuǎn)置矩陣相乘,將得到的新矩陣命名為mat2。利用Matlab內(nèi)置的diag函數(shù),我們可以很快地得到矩陣mat2主對角線上的所有元素。上述過程的代碼如下:

        mat1=ones(5,5)

        mat2=mat1*mat1'

        diag(mat1)

        3.3 用于生成表格的table函數(shù)

        回顧國內(nèi)已有的Matlab學(xué)術(shù)文獻(xiàn),一些學(xué)者采用文本對話框的形式輸出計量回歸結(jié)果。但是,在回歸統(tǒng)計量數(shù)目極多的情況下,文本對話框無法像表格那樣簡潔地顯示層次化信息。Matlab提供了強大的表格輸出命令,通過內(nèi)置的table函數(shù)我們可以很輕松地得到專業(yè)化的表格效果。假設(shè)有兩個變量var1和var1,其中var1的取值為21和11,var2的取值為35和51。如果用table函數(shù)來實現(xiàn)var1和var2數(shù)據(jù)的表格形式輸出,可以編寫以下代碼:

        table([21;11],[35;51],...

        'VariableNames',{'var1' 'var2'})

        4 Matlab代碼設(shè)計(Matlab code design)

        4.1 自定義函數(shù)的開頭

        將這個Matlab多元線性回歸程序命名為mvReg,因此將函數(shù)源代碼以mvReg.m作為文件名保存。為了使該程序能夠靈活處理多元線性回歸的自變量數(shù)目,我們使用varargin函數(shù)記錄輸入的因變量和自變量。代碼如下:

        function mvReg(varargin)

        4.2 回歸系數(shù)的估計

        由第二部分理論回歸可知,回歸系數(shù)的表達(dá)式可以簡化為。首先,生成元素全為1的矩陣MatX。其次,用循環(huán)語句將矩陣MatX的元素替換為varargin中的數(shù)據(jù)。求回歸系數(shù)的代碼如下:

        NumIV=nargin;

        NumCross=length(varargin{1});

        VecY=varargin{1};

        MatX=ones(NumCross,NumIV);

        for i=2:NumIV

        MatX(:,i)=varargin{i};

        end

        VecB=inv(MatX'*MatX)*MatX'*VecY;

        4.3 顯著性檢驗的統(tǒng)計量

        在回歸分析當(dāng)中,比較重要的統(tǒng)計量有t值、標(biāo)準(zhǔn)誤和P值等。t值等于回歸系數(shù)與標(biāo)準(zhǔn)的比值,表達(dá)式為。P值根據(jù)t分布得到,極小的P值表明不拒絕原假設(shè)“”。用VecSE、VecT和VecP分別表示標(biāo)準(zhǔn)誤向量、t值向量和P值向量,計算各統(tǒng)計量的代碼如下:

        ehat=VecY-MatX*VecB;

        VecSE=[diag(sum(ehat.^2)/…

        (NumCross-NumIV)*inv(MatX'…

        *MatX))].^0.5;

        VecT=VecB./VecSE;

        VecP=(1-tcdf(abs(VecT),…

        NumCross-NumIV))*2;

        4.4 將回歸結(jié)果以表格形式輸出

        Matlab的內(nèi)置函數(shù)table提供了強大的表格顯示功能,因此本回歸程序利用table函數(shù)來實現(xiàn)回歸結(jié)果的輸出。由于回歸結(jié)果的表格涉及文本內(nèi)容和數(shù)值內(nèi)容,我們將數(shù)據(jù)以cell形式儲存。代碼如下:

        VecVN=cell(nargin,1);

        VecVN{1,1}='_cons';

        for i=2:nargin

        VecVN{i,1}=inputname(i);

        end

        Regression=table(VecVN,VecB,…

        VecSE,VecP,'VariableNames',…

        {'Variable','Coef','Std_Err','P'})

        至此代碼編寫完畢,接下來對多元回歸函數(shù)進(jìn)行測試。先導(dǎo)入Excel數(shù)據(jù)文件,因變量為wage,自變量為educ和exper。多元回歸的代碼為:

        mvReg(wage,educ,exper)

        最終的回歸結(jié)果如圖1所示。輸出結(jié)果的第一列為被估計的回歸系數(shù),解釋變量educ的系數(shù)大小為0.64427,標(biāo)準(zhǔn)誤為0.053。通過計算t統(tǒng)計量,我們可以得到其P值為0。所以,解釋變量educ是非常統(tǒng)計性顯著的。同理,解釋變量exper的系數(shù)大小為0.070095,標(biāo)準(zhǔn)誤為0.010978。該變量P值小數(shù)點的后三位都為零,因此變量exper在1%水平上統(tǒng)計性顯著。參照主流統(tǒng)計軟件的輸出格式,我們用“_cons”表示截距。從圖1的回歸結(jié)果來看,截距P值小數(shù)點的后三位都為零,因此也是在1%水平上統(tǒng)計性顯著。

        圖1 Matlab程序運行結(jié)果

        Fig.1 Matlab' s output

        在得到多元線性回歸的結(jié)果之后,我們還可以利用內(nèi)置函數(shù)來實現(xiàn)數(shù)據(jù)可視化的功能。在單個解釋變量的情況下,scatter函數(shù)可以得到關(guān)于因變量與被解釋變量的散點圖。借助plot函數(shù),還可以畫出線性回歸的擬合曲線。借助基本的數(shù)理統(tǒng)計知識,用戶可以將這些圖形功能充分應(yīng)用到數(shù)據(jù)分析當(dāng)中。值得注意的是,Matlab提供了大量的高級統(tǒng)計函數(shù)。基于這些內(nèi)置函數(shù),用戶可以非常高效地編寫屬于自己的新程序。

        5 結(jié)論(Conclusion)

        Matlab作為以矩陣運算為特點的綜合性編程平臺,其高效快捷的代碼命令能夠處理眾多的計量分析難題。本文借助Matlab線性代數(shù)模塊、概率分布模塊實現(xiàn)了多元線性回歸法,并得到了重要的檢驗統(tǒng)計量。在此基礎(chǔ)上,可以進(jìn)一步增加更高級的計量分析功能,比如異方差穩(wěn)健回歸、多重共線性檢驗等。

        參考文獻(xiàn)(References)

        [1] Eric Noreen.An Empirical Comparison of Probit and OLS

        Regression Hypothesis Tests. Journal Of Accounting Research,

        1988,26(1):119-133.

        [2] Sanford Weisberg. Applied Linear Regression [M].John Wiley

        & Sons,2013.

        [3] David Thomas.Give Meaning to Matrices with MATLAB[J].

        Journal of Computers in Mathematics and Science Teaching,

        1990,9(3):73-85.

        作者簡介:

        鄔汝威(1988-),男,碩士生.研究領(lǐng)域:算法設(shè)計,面板數(shù)據(jù)

        分析.

        猜你喜歡
        多元線性回歸
        我國銀行業(yè)股票收益影響因素實證研究
        時代金融(2017年3期)2017-03-09 17:56:46
        國內(nèi)旅游收入主要影響因素的實證分析
        中國市場(2017年2期)2017-02-28 18:59:45
        基于灰色關(guān)聯(lián)和線性規(guī)劃的糧食種植面積影響因素分析
        基于組合模型的卷煙市場需求預(yù)測研究
        基于多元線性回歸分析的冬季鳥類生境選擇研究
        我國上市商業(yè)銀行信貸資產(chǎn)證券化效應(yīng)實證研究
        時代金融(2016年29期)2016-12-05 15:41:07
        云學(xué)習(xí)平臺大學(xué)生學(xué)業(yè)成績預(yù)測與干預(yù)研究
        全國主要市轄區(qū)的房價收入比影響因素研究
        商(2016年20期)2016-07-04 01:23:26
        宏觀經(jīng)濟(jì)變量對上證指數(shù)影響的實證研究
        利用計量工具比較東西部的經(jīng)濟(jì)狀況
        商(2016年5期)2016-03-28 12:14:30
        99精品一区二区三区无码吞精| 日本人妻97中文字幕| 狠狠躁夜夜躁人人爽超碰97香蕉| www插插插无码视频网站| 最新国产拍偷乱偷精品| 初尝人妻少妇中文字幕在线| 日本区一区二区三视频| 国偷自产一区二区免费视频| 97视频在线播放| 国产精品久久国产精品久久| 亚洲综合一区二区三区天美传媒| 日韩欧美成人免费观看| 麻豆AⅤ无码不卡| 成年毛片18成年毛片| 天天射综合网天天插天天干| 四虎国产精品永久在线国在线 | 国产精品爽爽va在线观看无码| 无码伊人久久大杳蕉中文无码| 一区二区三区精品免费| 成人精品天堂一区二区三区| 一本色道久久综合狠狠躁| 国产免费午夜福利蜜芽无码| 美艳善良的丝袜高跟美腿| 男女做爰猛烈啪啪吃奶动| 亚洲天堂免费视频| 亚洲国产人成自精在线尤物| 欧美白人战黑吊| 欧美激情a∨在线视频播放| 久久夜色精品国产噜噜噜亚洲av| 久久久精品国产亚洲av网麻豆 | 国产在线视频一区二区三区| 日韩av一区二区三区四区av| 你懂的视频网站亚洲视频| 宅男666在线永久免费观看| 97欧美在线| 久久精品国产亚洲av蜜臀久久| 精品无码国产自产在线观看水浒传| 欧美 日韩 国产 成人 在线观看| 久久婷婷国产综合精品| 91久久综合精品久久久综合 | 东北女人一级内射黄片|