Stata: regression的interaction

Stata要作regression很簡單,像這樣:

regress  y x1 x2, beta

但是要作interaction怎麼辦?依regression的公式,很容易就想成「加上一個x1*x2」就好了嘛…..錯,不給我跑 @@

正確做法是先產生一個變數,此變數是x1*x2,然後再把這個變數丟進regression裡。

gen x1x2=x1*x2
regress y x1 x2 x1x2

指令很簡單,只不過是習慣問題而已。貌似這幾天我「直覺」打上x1*x2然後看stata給我紅字的次數已經好幾次了…

11 thoughts on “Stata: regression的interaction”

  1. sorry…
    我的問題是,為了要避免多元共線性,一種作法是把x1和x2都先置中(減去平均數)後再相乘出x1*x2。但您提供的這種作法似乎只是單純的把兩變數相乘而已對嗎?

  2. 這裡的話,我想請教一下一些問題
    第一個就是說,如果要做二階多元回歸的話,不曉得還有沒有更方便的方法。我手上只有SPSS,目前如果要做二階的話,大概都像版主一樣,不管是自變項的二次方,還是因子間的交互作用,都會先寫語法讓它先行產生,之後再讓程式最回歸的動作
    如說
    compute x1*x1
    compute x1*x2…..
    最後regression….
    /method enter x1 x2 x1x1 x1x2 x2x2
    我不曉得說做二階的回歸有沒有軟體內建的方法可用,還是只能用這種方式

  3. Stata有個指令xi,可以快速產生interaction。如果是二階,目前好像沒什麼很快的辦法。如果有很多variable要作二階的話,我大概會寫個迴圈,把資料讀進去,然後把整串變數丟到regression裡面。

    暫時沒想到更快的辦法了。

  4. OK,謝謝你的寶貴意見。我主要是想要知道整個二階多元回歸的概念大概是怎樣,如果同樣的概念用SAS應該也是一樣吧。
    也就是說如果今天是用一階的回歸,最後面的regression 程式裡就只需要 Y 跟 X 的一次項變數;如果是二階回歸,regression 就需 Y 跟X 的二次項變數群(這裡二次項變數群讓程式自動產生或手動產生都沒差吧?)。依此類推
    整個的概念應該是這樣沒錯吧

Leave a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Scroll to Top
Verified by MonsterInsights