跳至內容

Stata

維基百科,自由的百科全書
Stata
原作者William Gould[1]
開發者StataCorp
首次發佈1985年 (1985)
當前版本17
程式語言C
作業系統Windows, macOS, Linux
類型統計分析
許可協議專有
網站www.stata.com

Stata是Statacorp公司於1985年開發出來的統計程序,被廣泛應用於企業和學術機構中。許多使用者工作在研究領域,特別是在經濟學社會學政治學流行病學領域[2]。最新的版本已經升級到了Stata 18。

Stata的一系列功能包括:數據管理,統計分析,圖表,模擬,自定義編程。

Stata代碼例子

Stata 17中自動數據集的回歸分析圖。

進行y在x上的線性(OLS)回歸

regress y x [if]

選項部份if允許限制命令所用採樣至一個子集。例如,如果命令只適用於採樣中的雌性,則應當指定if female == 1

要進行y在x上的邏輯斯諦迴歸

 logistic y x

要顯示y針對x的散佈圖,並限制x的值在10以下:

 scatter y x if x < 10

要進行y在x上的OLS回歸,採用White的異方差一致的標準誤差英語heteroscedasticity-consistent standard errors

 regress y x, vce(robust)

要計算回歸的赤池信息量準則(AIC)和貝葉斯信息量準則(BIC)[3]

 estat ic

要編碼「Fizz buzz英語Fizz buzz」:

program define fizzbuzz
	args x
	forvalues i = 1/`x' {
		if mod(`i',15) == 0 {
			display "fizzbuzz"
		}
		else if mod(`i',5) == 0 {
			display "buzz"
		}
		else if mod(`i',3) == 0 {
			display "fizz"
		}
		else {
		    display `i'
		}
	}
end

Mata

Stata的矩陣程式語言Mata支持陣列編程[4]。下面例子展示了加法、乘法、一個矩陣和一個純量的加法、逐個元素的乘法、下標和Mata的多個逆矩陣之一:

. mata:

: A = (1,2,3) \(4,5,6)

: A
       1   2   3
    +-------------+
  1 |  1   2   3  |
  2 |  4   5   6  |
    +-------------+

: B = (2..4) \(1..3)

: B
       1   2   3
    +-------------+
  1 |  2   3   4  |
  2 |  1   2   3  |
    +-------------+

: C = J(3,2,1)           // A 3 by 2 matrix of ones

: C
       1   2
    +---------+
  1 |  1   1  |
  2 |  1   1  |
  3 |  1   1  |
    +---------+

: D = A + B

: D
       1   2   3
    +-------------+
  1 |  3   5   7  |
  2 |  5   7   9  |
    +-------------+

: E = A*C

: E
        1    2
    +-----------+
  1 |   6    6  |
  2 |  15   15  |
    +-----------+

: F = A:*B

: F
        1    2    3
    +----------------+
  1 |   2    6   12  |
  2 |   4   10   18  |
    +----------------+

: G = E :+ 3

: G
        1    2
    +-----------+
  1 |   9    9  |
  2 |  18   18  |
    +-----------+

: H = F[(2\1), (1, 2)]    // Subscripting to get a submatrix of F and

:                         // switch row 1 and 2
: H
        1    2
    +-----------+
  1 |   4   10  |
  2 |   2    6  |
    +-----------+

: I = invsym(F'*F)        // Generalized inverse (F*F^(-1)F=F) of a

:                         // symmetric positive semi-definite matrix
: I
[symmetric]
                 1             2             3
    +-------------------------------------------+
  1 |            0                              |
  2 |            0          3.25                |
  3 |            0         -1.75   .9444444444  |
    +-------------------------------------------+

: end

引用

  1. ^ Stata Journal | Article. www.stata-journal.com. [2021-02-20]. (原始內容存檔於2020-09-23). 
  2. ^ Who uses Stata?. Stata. [2017-06-28]. (原始內容存檔於2018-03-23). 
  3. ^ Choosing Regression Model in Stata. [2021-02-20]. (原始內容存檔於2018-08-30). 
  4. ^ Mata—Stata's serious programming language. [2021-02-20]. (原始內容存檔於2021-04-20). 

延伸閱讀

外部連結