迴歸分析

幅圖嘅兩條軸分別代表研究緊嗰兩個變數（x 同 y），每一個紅點代表一個個案，每個個案都喺兩個變數上各有個值。用迴歸分析可以估計出條線（綠線同藍線都係可行嘅線）並且知道，兩個變數大致上成正比，呢條線跟住就可以攞嚟做預測。
迴歸分析（粵拼：wui4 gwai1 fan1 sik1；英文：regression）係統計模型上嘅一類技術，用嚟預測兩個或者以上唔同變數之間嘅關係：喺統計學上，研究者好多時會想用一個變數嘅數值嚟預測第啲變數嘅數值；喺最簡單嗰種情況下，個統計模型會涉及兩個連續嘅變數，當中一個係自變數 IV，另一個係應變數 DV，而個研究者會用個 IV 嘅數值嚟預測個 DV 嘅數值；對個研究者嚟講，一個可能嘅做法係搜集數據返嚟，用啲數據做迴歸分析，整一個模型出嚟，個模型就能夠幫佢預測「當 IV 係呢個數值嗰陣，假設第啲因素不變，個 DV 嘅數值會傾向係幾多」。
舉個簡單例子，想像家吓有個研究者，佢想用「一個人嘅食量」嚟預測「嗰個人嘅體重」，佢可以搵班人返嚟做樣本，量度樣本入面每一個人嘅食量同體重，再根據呢啲數據，用迴歸分析方法估計一條線出嚟，條線係一個統計模型，會有一條式表達兩個變數之間嘅關係，好似係噉樣：
；呢個係所謂嘅迴歸函數，當中  係誤差。
以上呢條線表示，體重（）同食量（）－假設兩個變數都有適當嘅單位量度－大致上成簡單嘅正比關係，而有咗呢條線，如果個研究者知道某一個人嘅食量係（例如）100 個單位，佢可以按照呢條式估計出，假設第啲因素不變，嗰個人嘅體重好有可能會接近 80 個單位咁多，而呢個模型喺醫療上會有用。
上述個例子呢種用兩個變數做、估計出線性關係嘅係最簡單嗰種線性迴歸分析，除咗噉，統計學上仲有一啲更加複雜嘅迴歸分析方法，可以攞嚟估計三個或者更多個變數之間嘅關係，又或者係分析一啲非線性嘅關係。

基本假設
内文：常態分佈同等分散
睇埋：廣義線性模型
迴歸分析做咗以下嘅假設：
個樣本能夠代表所研究緊嘅總體；
啲受試者彼此之間係統計上獨立嘅；
誤差值  係一個隨機嘅變數，平均值係 0；
量度 IV 嘅過程當中並冇誤差；
IV 之間線性獨立，即係話並冇任何一個 IV 等如第啲 IV 嘅線性組合；
誤差值之間並冇任何嘅相關；
對唔同個案嘅觀察當中嘅誤差值嘅變異數係一樣嘅（即係所謂嘅等分散）。
只要手頭上嘅數據達到呢啲假設，迴歸分析所俾嘅參數值估計就會係有效率同冇偏見嘅。但係喺現實世界當中，得到嘅數據好少可能夠達到嗮呢啲假設，所以啲研究者好多時就算手上嘅數據唔完全達到嗮呢啲假設，都照樣用迴歸分析做估計；而當啲人評鑑一份噉嘅研究嗰陣，通常會以「呢個研究者手上嘅數據有幾滿足到迴歸分析嘅假設」嚟判定「呢個迴歸分析俾嘅結果有幾有用」－份研究嘅數據愈滿足到柞假設，當中嗰個迴歸分析所俾嘅結果就愈有可能正確。
假如手上嘅變數唔跟常態分佈，可以考慮使用廣義線性模型。

統計模型
一個非線性迴歸模型嘅圖解；條線係個迴歸模型。

基本模型
睇埋：函數同線性關係
一個迴歸模型會有以下三類主要參數同變數：
，包括咗一啲未知、需要靠迴歸分析嚟估計嘅參數，喺實際應用上，柞參數可以用一個向量嚟代表；
 指柞 IV，用嚟預測 DV 數值嘅變數；
 指個 DV，個迴歸模型要預測嗰個變數；
一個迴歸模型會表達出  同  之間嘅關係。一般嚟講，個研究者會想搵出  同  以及  成嘅函數嘅關係，即係話喺做迴歸分析嗰陣，個研究者預咗：
，呢句嘢係話「 大致上係  以及  成嘅函數」；
例如係以下呢個線性模型噉，就涉及個研究者嘗試用三個 IV 去預測個 DV 嘅數值：
；當中
代表咗截距；
、、同  分別代表咗三個 IV；
 代表咗  呢個 IV 對個 DV 有幾大影響力，其他嗰兩個  同  都係同一道理。
一份研究嘅目的通常係喺啲數據身上做迴歸分析，靠噉嚟搵出柞  嘅數值，睇吓柞 IV 對個 DV 有冇同有乜影響，例如如果做迴歸分析結果顯示  大致上等如 0 嘅話，就表示  對個 DV 根本冇影響，而如果迴歸分析嘅結果顯示  數值大過  嘅話，就表示  對個 DV 嘅影響力大過  嘅。而搵出咗柞  嘅數值之後，研究者就有咗條式，將來能夠估計 （「手頭上有咗  嘅數值， 嘅預測數值」）。
要留意嘅係，迴歸分析所俾出嚟嘅結果係唔完美嘅條件期望。噉講即係話，呢種分析法能夠俾出嘅結果係
「
當 IV 係呢個數值，DV 嘅數值大概會係幾多。
」
－迴歸分析方法常見於生物學、心理學同社會科學等研究複雜現象嘅領域，喺複雜現象當中，一個因素嘅值會受千百個因素嘅值影響－相比之下，喺（例如）物理學當中，一個 DV 嘅值好多時可以靠 3 至 4 個 IV 嘅值嚟預測，例子可以睇吓牛頓運動定律嗰啲式噉；喺生物學等嘅領域當中，研究者冇可能完全知道同控制嗮嗰千百個因素，所以只能夠靠住手頭上嘅 IV 嚟估計 DV 嘅數值，如果個 IV 嘅預測力夠勁，用佢預測 DV 數值嘅準確度會高，但準確度都仲係會明顯低過 100% 。呢句嘢用統計學行話嚟講嘅話，即係 DV 嘅數值會喺個迴歸函數周圍有個概率分佈。

解方程
睇埋：統計自由度
而家假想一個包括嗮啲  嘅向量，呢個向量嘅長度係 （用日常用語講，即係話個模型有  咁多個 ）。家吓迴歸分析要做嘅嘢係要估計啲  嘅值，研究者要搜集個樣本返嚟，樣本入面嘅每一個個體都喺  同  呢兩個變數上分別有一個數值。簡單噉講，跟住落嚟嘅迴歸分析過程可以想像成「將呢啲數據值逐個逐個代入去條式嗰度，再靠噉嚟計出柞  嘅值」，所以可以有三個情況：
假想個研究者嘅樣本入面有  個個體。如果 ，多數嘅迴歸分析技術都用唔到，因為會有欠定嘅問題，唔夠數據搵出所有  嘅值。
如果 ，而且條式係線性嘅話，噉條式  會有單一一個解方程，等同於用  條式搵出  個未知值。但係如果條式係非線性嘅，噉呢一點未必會成立。
喺實際應用上，最常見嘅情況係 ；喺呢個情況下，個研究者有足夠嘅資訊去每個  都同佢估計一個「最符合數據」嘅數值出嚟（即係超定）。一般嚟講，做研究嘅人基本上一定會盡力確保呢一點。
喺做迴歸分析嗰陣，唔同嘅觀察必需要係獨立嘅：而家假想一個迴歸模型，有三個未知參數，、、同 ，三個 IV，、、同 ，個研究者手頭上嘅樣本有 10 個個體，而呢個樣本當中只有一個  值（即係話嗰 10 個個體喺啲 IV 上嘅數值完全一樣）；噉嘅話，迴歸分析將會唔能夠為嗰三個未知參數分別估計一個獨有嘅數值，而個研究者只能夠估計 Y 嘅平均值同標準差；而如果個樣本有 10 個個體，當中只有兩個  值（當中一部份個體喺啲 IV 上嘅數值完全一樣，而另一部份喺啲 IV 上嘅數值同前者唔同、但彼此之間完全一樣），噉個研究者將會只能夠估計兩個參數嘅值。如此類推。
喺統計學行話上，當觀察到嘅個體數量  大過 ，而量度誤差呈常態分佈， 就反映咗「手上嘅資訊量」超越「必要嘅資訊量」幾多，而呢個數值就係所謂嘅迴歸分析嘅自由度。

線性迴歸分析
一個線性迴歸模型嘅圖解；藍色點代表數據當中嘅個體，每個個體都喺  同  上有個值，條紅色線係個迴歸模型，用條線嚟預測  嘅值會俾到大致上啱，但唔完全準嘅預測。
内文：線性迴歸分析
線性迴歸分析係最簡單嗰種迴歸分析。喺一個線性迴歸模型當中，個 DV 係柞自變數嘅線性組合，即係話喺成條式入面，每個參數都只有各自噉乘某啲常數（冇互相乘埋或者次方等），再加埋一齊。例如係一個有  件數據同一個 IV 嘅線性迴歸模型：
喺呢個模型之下，如果將  嘅預期值同  嘅值畫成圖，會得出一條簡單嘅直線。另一方面，線性迴歸分析又可以用嚟模型第啲型態嘅 - 關係。例如喺以下呢個線性迴歸分析模型入面，如果將  嘅預期值同  嘅值畫成圖，會得出一條拋物綫，因為喺呢條式入面， 嘅其中一個成份同  嘅平方成正比：
呢條式依然係一個線性迴歸模型：雖然右手邊有個 ，但柞參數依然係線性嘅－、、同  冇互相乘埋亦都冇次方。
定義上，迴歸模型並唔會做決定型嘅預測：想像家吓有咗 、、同  嘅值，每當個研究者俾個  值做輸入嗰陣，條式都會俾個預期嘅  值做輸出，但係因為迴歸模型做唔到決定型嘅預測，所以呢個預期值通常都會同實際嘅  值有所出入，而  就係指第  個個案入面嘅誤差值，代表喺嗰個個案入面，實際量度到嘅  值同預期值差幾遠。假設第啲因素不變，一個理想嘅迴歸模型會令誤差嘅總值有咁細得咁細。

普通最小二乘法
内文：普通最小二乘法
最常用最普通嗰種估計  嘅方法－普通最小二乘法－就係建基於誤差值之上嘅。用呢種做法估計 ，首先要計個残差平方和（RSS）出嚟，RSS 係指將所有誤差值嘅平方加埋得出嘅數：
同  嘅數值可以用以下嘅算式計出嚟：
當中  係  嘅平均值，而  係  嘅平均值。
假設個總體嘅誤差值有一個固定嘅變異數，呢個變異數可以用以下呢條式估計：
呢個數係所謂嘅均方誤差，個分母係樣本大細減個模型要估計嘅參數嘅量。呢個迴歸模型當中有兩個未知嘅參數（ 同 ）。
而啲參數估計嘅標準誤差係：
有咗上面呢個模型，個研究者手上有會有  同  嘅估計值，將來可以用呢條式嚟預測  嘅數值。

普遍線性模型
提示：呢篇文講嘅唔係廣義線性模型。
睇埋：非線性迴歸分析、一般線性模型同邏輯迴歸
如果廣義噉考慮嘅話，想像家吓有一個具有  個 IV 嘅線性迴歸模型：
當中  係第  個個體喺第  個 IV 上嘅數值。如果  無論  係幾多數值都等如 1 嘅話， 就可以當做個迴歸模型嘅截距。 代表用呢個模型預測第  個個體嘅 DV 嗰時嘅誤差值。
掉一掉啲數，個誤差值  可以寫做：
正規方程係：
呢條式又可以用矩陣嘅記數法寫成：
當中  係  嘅第  個元件， 係行向量  嘅第  個元件，而  係  嘅第  個元件。所以  係一個  嘅矩陣， 係  嘅矩陣，而  係  嘅矩陣。成條式嘅解答係：

攞到模型之後
藍色點代表數據當中嘅個體，每個個體都喺  同  上有個值，紅色線係迴歸模型。如圖所示，有多條線都可以充分解釋啲數據。德文翻譯：Polynomgrad－多項式次數；Messpunkte－數據點；Modelifunktion－模型函數；Residuen－残差。外推問題嘅圖解；每個藍色點代表數據嘅一個個體，綠色線係按呢柞數據估計出嘅迴歸模型。手上數據淨係得  數值喺 10 至 60 之間嘅個案，條線係咪真係能夠預測例如  嗰陣嘅情況（外推）呢？

迴歸診斷
睇埋：適合度、R-平方、過適同標準化系數
同一樣嘅數據可以用多個唔同嘅模型嚟解釋，而分析者正路會想搵出最好嗰個模型。要決定邊個模型係最「好」，研究者可以用好多個指標：喺研究者建立咗一個迴歸模型之後，佢要計吓個模型嘅適合度同所估計嘅參數嘅顯著差異；要計適合度，研究者可以用 R-平方等嘅指標，呢啲指標共通點係按照個模型嘅數字（例如係各參數嘅數值），計一個數值出嚟，而個數值就反映咗個模型嘅某啲特性。例如 R-平方條式係噉嘅：
當中  係 R-平方， 係正話提到嘅残差平方和，而  係所謂嘅總差平方和（指如果個迴歸模型係一條  數值等如樣本平均值嘅橫線嘅話，誤差平方總共會係幾多）。R-平方嘅數值最大係 1，最細係負無限大。一般認為，R-平方係反映緊
個模型有幾能夠解釋到啲數據。
如果 R-平方數值係 1，就表示個模型能夠「完全無誤差噉解釋到啲數據」，而 R-平方值距離 1 愈遠，就表示「用呢個迴歸模型做預測所造成嘅誤差」愈係大過「就噉用平均值做預測所造成嘅誤差」。假設第啲因素不變，研究者會想 R-平方數值盡可能接近 1 － R-平方提供咗一個指標，等啲研究者可以量度一個迴歸模型「有幾好」。
除咗 R-平方之外，統計學上仲有好多方法可以衡量一個迴歸模型嘅適合度。

統計功效
睇埋：統計功效
統計功效係另一個重要嘅指標，代表
（用行話講）「如果備擇假說係真，虛無假說能夠被拒絕嘅機會率有幾高」－
簡單啲講，就係「成功噉探測到一個真實存在嘅效果嘅機會率」。
正路嚟講，研究者都會想呢個數值有咁高得咁高，但喺統計學上，對於要點樣計迴歸分析嘅功效，學界仲未有完全一致嘅共識。根據廿一世紀初最常用嘅做法，一個功效有返咁上下高嘅迴歸分析嘅樣本個體數要滿足以下呢條式：
當中  係樣本大細， 係 IV 嘅數量，而  係指「如果個模型得一個 IV，能夠令到估計出嚟嗰個模型達到理想精確度嘅個體數量」。例如假想一個研究者想建立一個線性迴歸模型，佢個樣本入面有 1,000 個受試者（）；佢又決定，要精確噉斷定一個線性模型（），需要 5 個個體，噉個模型頂櫳可以有 4 個 IV，因為：

插值外推
内文：插值同外推
個研究者分析出一個迴歸模型，又證實咗個模型適合度同功效有返咁上下高之後，佢就可以攞個模型做將來預測。將來預測可以分做兩大類－
插值（指做預測嗰陣個 IV 同 DV 嘅值喺樣本範圍之內）同
外推（指所預測嘅 IV 同 DV 數值遠遠喺樣本範圍之外）
通常個樣本啲數據都唔能夠代表嗮  同  嘅所有可能數值，例如係頭先提到嘅對體重同食量之間嘅關係嘅研究噉，個樣本好可能會缺少一啲體重超過 500 磅嘅人，而因為個迴歸模型係靠住一個缺少呢啲極端數值嘅樣本估計出嚟嘅，所以「呢個迴歸模型仲能唔能夠為呢啲具有極端數值嘅個體做準確嘅預測」係一個問題。
喺統計學當中，外推係一個零舍有爭議性嘅話題。做外推假設咗
「
如果喺手上數據範圍包含嘅  同  嘅數值之內，嗰兩個變數之間會呈現噉噉噉嘅關係，就表示  同  喺所有可能數值當中都會呈現相同嘅關係。
」
－呢個係一個可能有問題嘅假設。現時學界一般嘅做法係，個研究者喺估計迴歸模型嗰陣要講明自己手上嘅數據嘅全距等嘅資訊，話俾第啲研究者知佢手上嘅數據範圍有幾廣，而如果有人想用呢個模型做外推型嘅預測嘅話，就要「後果自負」，亦都有啲科學家主張，學界應該一概拒絕所有外推型嘅預測。

應用價值
迴歸分析好有實用價值。

商業
一條改變緊嘅需求曲線（D）同埋一條唔郁嘅供應曲線（S）；呢幅圖反映一個需求提升（由 D1 去 D2）。
睇埋：需求預測
喺商業上，迴歸分析嘅一種常見用途係攞嚟做需求預測。經濟學上有所謂嘅供應同需求嘅概念，當中需求嘅概念描述需求量（買家有能力同肯買嘅量）同埋佢嘅價格之間嘅關係。例如如果有一件貨品服務，佢價格喺 10 文嗰陣啲買家總共會買 100 件，價格喺 9 文嗰陣啲買家總共會買 110 件... 等等嘅話，佢嗰條需求曲線就會係一條穿個（10 文，100 件）同（9 文，110 件）呢兩點嘅線（唔一定係直線），而呢條曲線所表達嘅嗰段關係就係嗰個需求。
想像家陣有一班商人，準備要推出一款新產品，於是就想預測吓消費者對呢款商品嘅需求嚟到決定價格要設喺乜嘢位。喺最簡單嗰種情況下，佢哋可以
做個問卷調查，派問卷俾啲消費者，問佢哋「如果件貨品服務係呢個價錢，你會買幾多件」等嘅問題，
再將消費者嘅答覆畫成圖表（Y 軸係價格，X 軸係需求量），又可以用（例如）過去 12 個月內同類產品嘅銷售數據嚟做分析用嘅數據；
搵到數據之後，就用啲數據做個迴歸分析，結果會得出一條估計嘅需求曲線。
呢種需求預測嘅技術喺營銷策略上好有用，可以幫到啲企業手知道喺每個價格件貨品服務會賣到幾多件，並且靠噉估計件貨品服務要設喺乜嘢價格先可以令利潤最大化。實證研究顯示，用迴歸分析做需求預測嘅做法的確幫到企業手，相當準確噉預測消費者嘅需求。

社會科學
睇埋：經濟測量學同心理測量學
迴歸分析係社會科學上常用嘅一種分析方法：社會科學研究嘅對象係人類，人類係一種複雜嘅物體，喺是但一個時間點，一個人嘅行為都可以受千百個因素影響；相比之下，例如牛頓力學所研究嘅物體嘅行為可以用速度、加速度同埋質量等少數幾個因素概括；喺實際應用上，一個社會科學家冇可能量度嗮所有千百個因素，所以佢做親預測梗會有相當嘅誤差（而一般認為，啲誤差至少一部份係因為嗰啲冇量度到嘅因素嘅變化所造成嘅）。呢啲誤差表示，要用數學模型描述複雜系統，條式應該要包括誤差－迴歸分析就派得上用場。
想像有一個社科研究者，佢想研究消費者對網購嘅使用會受到乜嘢因素影響。同多數社科上會研究嘅 DV 一樣，呢個 DV 會受大量嘅因素影響，個研究者可以做嘅嘢係
按手上嘅理論諗吓，有邊啲因素最有可能會係影響力勁嘅 IV；
做問卷調查，叫啲消費者報告佢哋對網購嘅使用量以及係預想中嗰柞 IV 嘅數值（例如如果個研究者相信「使用互聯網嘅技能」係一個可能因素嘅話，佢可以喺份問卷入面叫啲消費者自評自己喺呢方面嘅技能）；
跟手佢可以用數據做迴歸分析，啲誤差會反映佢冇考慮嗰啲因素嘅影響力，而個迴歸分析會每一個 IV 都俾個  佢。
然後個研究者就可以按照分析嘅結果嚟睇吓預想中嗰柞 IV 當中有邊個真係對個 DV 有影響力嘅（ 顯著噉大過 0），而如果有，影響係呈正比定反比（ 係正定負）等等。

人工智能
睇埋：機械學習
人工智能（AI）係一個研究點樣令到機械出現有智能嘅行為嘅領域。迴歸分析可以用嚟教電腦學習：想像家陣有個設計者想編寫一個人工智能程式，教曉部電腦例如靠一個病人嘅面色同體重等嘅因素（柞 IV）嚟診斷個病人係咪有紅血球過少嘅問題（DV），佢可以設定好似以下噉嘅碼：
c = 0; # 暫時當住啲參數同 IV 通通係 0 先。
x = 0; # 個 IV，可以係（例如）食量。
a = 0;
y = c + ax; # 個迴歸模型，y 將會係個程式俾嘅輸出，可以係（例如）體重。

c = random(1,100); # 隨機噉設 c 同 a 嘅數值，噉做會整出一個唔準嘅迴歸模型。
a = random(0,1);

# 下一步嘅碼需要做以下嘅工作：
# （1）搵出手上嗰條線係咪一個理想（誤差低）嘅迴歸模型；
# （2）如果唔係，就要改變 c 同 a 嘅數值，令到條線愈嚟愈接近「能夠做準確預測嘅樣」；
# （3）仲要計出 c 同 a 嘅數值應該要改變幾多。

def read_data() : # 要有個子程式教部電腦讀取設計者提供嘅數據。
    ... # 省略咗
    return patient_value

def step_cost_function_for(patient_value, constant, slope) : 
    ...... # 一個省略咗嘅子程序，簡單啲講，呢個子程序涉及重複係噉做
    # 攞下一個數據個體，將佢個 x 值同手上個模型預測 y，
    # 計吓個誤差係幾多，再
    # 有條式計吓要點樣按照個誤差調整 c 同 a，
    # 做到讀完嗮成柞數據為止。
    return new_constant, new_slope # 個子程序會俾出 c 同 a 嘅新數值。

# 下略 ...
喺呢個程式讀取咗一定量嘅數據之後，佢內部會有一個迴歸模型，跟住個設計者就可以試吓攞呢個程式做一啲醫療上嘅應用。事實係，呢種用到迴歸分析嘅人工智能程式喺醫療上時不時會用到。