Làm thế nào tôi nên mô hình một biến phụ thuộc liên tục trong


9

Tôi có một biến phụ thuộc có thể nằm trong khoảng từ 0 đến vô cùng, với 0 thực sự là những quan sát chính xác. Tôi hiểu việc kiểm duyệt và các mô hình Tobit chỉ áp dụng khi giá trị thực tế của là chưa biết một phần hoặc mất tích, trong đó dữ liệu trường hợp được cho là được cắt ngắn. Một số thông tin thêm về dữ liệu bị kiểm duyệt trong chủ đề này .Y

Nhưng ở đây 0 là một giá trị thực sự thuộc về dân số. Chạy OLS trên dữ liệu này có vấn đề khó chịu đặc biệt để mang ước tính tiêu cực. Tôi nên làm mẫu như thế nào?Y

> summary(data$Y)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
   0.00    0.00    0.00    7.66    5.20  193.00 
> summary(predict(m))
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  -4.46    2.01    4.10    7.66    7.82  240.00 
> sum(predict(m) < 0) / length(data$Y)
[1] 0.0972098

Phát triển

Sau khi đọc câu trả lời, tôi đang báo cáo sự phù hợp của mô hình vượt rào Gamma bằng các hàm ước tính hơi khác nhau. Kết quả khá bất ngờ với tôi. Trước tiên hãy nhìn vào DV. Những gì rõ ràng là dữ liệu đuôi cực kỳ béo. Điều này có một số hậu quả thú vị về việc đánh giá sự phù hợp mà tôi sẽ bình luận bên dưới:

nhập mô tả hình ảnh ở đây

quantile(d$Y, probs=seq(0, 1, 0.1))
        0%        10%        20%        30%        40%        50%        60%        70%        80%        90%       100% 
  0.000000   0.000000   0.000000   0.000000   0.000000   0.000000   0.286533   3.566165  11.764706  27.286630 198.184818 

Tôi đã xây dựng mô hình rào cản Gamma như sau:

d$zero_one = (d$Y > 0)
logit = glm(zero_one ~ X1*log(X2) + X1*X3, data=d, family=binomial(link = logit))
gamma = glm(Y ~ X1*log(X2) + X1*X3, data=subset(d, Y>0), family=Gamma(link = log))

Cuối cùng tôi đã đánh giá sự phù hợp trong mẫu bằng ba kỹ thuật khác nhau:

# logit probability * gamma estimate
predict1 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(prob*Yhat)
}

# if logit probability < 0.5 then 0, else logit prob * gamma estimate 
predict2 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, prob)*Yhat)
}

# if logit probability < 0.5 then 0, else gamma estimate
predict3 = function(m_logit, m_gamma, data)
{
  prob = predict(m_logit, newdata=data, type="response")
  Yhat = predict(m_gamma, newdata=data, type="response")
  return(ifelse(prob<0.5, 0, Yhat))
}

Lúc đầu, tôi đánh giá sự phù hợp bằng các biện pháp thông thường: AIC, sai lệch null, sai số tuyệt đối trung bình, v.v. Nhưng nhìn vào các lỗi tuyệt đối lượng tử của các hàm trên làm nổi bật một số vấn đề liên quan đến xác suất cao về kết quả 0 và cực trị đuôi béo. Tất nhiên, lỗi tăng theo cấp số nhân với giá trị Y cao hơn (cũng có giá trị Y rất lớn tại Max), nhưng điều thú vị hơn là việc dựa nhiều vào mô hình logit để ước tính 0 tạo ra sự phù hợp phân phối tốt hơn (tôi sẽ không t biết làm thế nào để mô tả tốt hơn hiện tượng này):Y

quantile(abs(d$Y - predict1(logit, gamma, d)), probs=seq(0, 1, 0.1))
           0%           10%           20%           30%           40%           50%           60%           70%           80%           90%          100% 
   0.00320459    1.45525439    2.15327192    2.72230527    3.28279766    4.07428682    5.36259988    7.82389110   12.46936416   22.90710769 1015.46203281 
quantile(abs(d$Y - predict2(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.309598    3.903533    8.195128   13.260107   24.691358 1015.462033 
quantile(abs(d$Y - predict3(logit, gamma, d)), probs=seq(0, 1, 0.1))
         0%         10%         20%         30%         40%         50%         60%         70%         80%         90%        100% 
   0.000000    0.000000    0.000000    0.000000    0.000000    0.307692    3.557285    9.039548   16.036379   28.863912 1169.321773 

3
Là biến liên tục khác 0? Nếu vậy, một mô hình được thổi phồng bằng không (ví dụ: gamma không phồng / không phồng bằng không, v.v ... có thể được sử dụng)
Glen_b -Reinstate Monica

Đúng. Chắc chắn đó không phải là một mô hình probit. Tôi hơi do dự về các mô hình lạm phát bằng 0, vì dường như các số 0 được báo cáo quá mức và phân phối IV "có vấn đề", có thể nói, trong trường hợp của tôi, tất cả các giá trị IV đều đúng.
Robert Kubrick

Và làm thế nào về việc loại bỏ chặn (tôi biết, tôi biết ... nhưng ở đây nguồn gốc thực sự là 0)?
Robert Kubrick

Bạn có thể cung cấp cho chúng tôi cái nhìn sâu sắc về cơ chế tạo dữ liệu? Ví dụ, các bản phân phối hợp chất có thể xử lý loại dữ liệu này, nhưng thực sự nó được thiết kế để mô hình hóa tổng của một số thống kê được áp dụng cho một tập hợp các sự kiện ngẫu nhiên (ví dụ: tổng chi phí cho các yêu cầu bảo hiểm trên chính sách).
jlimahaverford 17/03/2015

2
Robert, một số ví dụ cụ thể về các mô hình không phồng để đưa nó ra khỏi vùng đất trừu tượng (và để giúp giải thích lý do tại sao chúng không thực sự về dữ liệu "có vấn đề"): (1) có bao nhiêu điếu thuốc mỗi ngày hút 30 ngày có thể yêu cầu một mô hình bơm hơi bằng không, vì người ta phải có thói quen hút thuốc lá với số lượng> 0. (2) Có bao nhiêu con cá bắt được trong chuyến đi chèo thuyền này yêu cầu một con đi câu cá với số lượng> 0.
Alexis

Câu trả lời:


14

Bị kiểm duyệt so với lạm phát so với vượt rào

Các mô hình bị kiểm duyệt, vượt rào và thổi phồng hoạt động bằng cách thêm một khối điểm lên trên mật độ xác suất hiện có. Sự khác biệt nằm ở chỗ khối lượng được thêm vào, và làm thế nào. Hiện tại, chỉ cần xem xét việc thêm một điểm khối lượng bằng 0, nhưng khái niệm này dễ khái quát hóa cho các trường hợp khác.

Tất cả đều ngụ ý một quy trình tạo dữ liệu hai bước cho một số biến :Y

  1. Vẽ để xác định xem hay Y > 0 .Y= =0Y>0
  2. Nếu , vẽ để xác định giá trị của Y .Y>0Y

Mô hình thổi phồng và trở ngại

Cả hai mô hình thổi phồng (thường là không phồng) và cản trở hoạt động bằng cách chỉ định rõ ràng và riêng biệt chỉ định , để DGP trở thành:Pr(Y= =0)= =π

  1. Vẽ một lần từ để có được thực hiện z .Z~BernobạntôitôiTôi(π)z
  2. Nếu , đặt y = z = 0 .z= =0y= =z= =0
  3. Nếu , vẽ một lần từ Y * ~ D * ( θ * ) và bộ y = y * .z= =1Y*~D*(θ*)y= =y*

Trong một mô hình lạm phát, . Trong mô hình rào cản, Pr ( Y = 0 ) = 0 . Đó là sự khác biệt duy nhất .Pr(Y*= =0)>0Pr(Y*= =0)= =0

Cả hai mô hình dẫn đến mật độ với các hình thức sau:

fD(y)= =Tôi(y= =0)Pr(Y= =0)+Tôi(y0)Pr(Y0)fD*(y)

trong đó là một hàm chỉ thị. Nghĩa là, một khối lượng điểm được thêm đơn giản vào 0 và trong trường hợp này khối lượng đó chỉ đơn giản là Pr ( Z = 0 ) = 1 - π . Bạn được tự do để ước lượng p trực tiếp, hoặc để đặt g ( π ) = X β đối với một số khả nghịch g như chức năng logit. D * cũng có thể phụ thuộc vào X β . Trong trường hợp đó, mô hình hoạt động bằng cách "layering" một hồi quy logistic cho Z theo một mô hình hồi quy cho Y * .TôiPr(Z= =0)= =1-πpg(π)= =XβgD*XβZY*

Mô hình kiểm duyệt

Các mô hình bị kiểm duyệt cũng thêm khối lượng tại một ranh giới. Họ thực hiện điều này bằng cách "cắt" một phân phối xác suất, và sau đó "gom lại" phần dư thừa ở ranh giới đó. Cách dễ nhất để khái niệm hóa các mô hình này là về một biến tiềm ẩn với CDF F D * . Sau đó Pr ( Y *y * ) = F D * ( y * ) . Đây là một mô hình rất chung chung; hồi quy là trường hợp đặc biệt, trong đó F D * phụ thuộc vào X β .Y*~D*FD*Pr(Yy)=FD(y)FDXβ

Các quan sát sau đó được giả định là liên quan đến Y * theo: Y = { 0 Y *0 Y * Y * > 0YY

Y={0Y0YY>0

fD(y)=I(y=0)FD(0)+I(y0)(1FD(0))fD(y)

và có thể dễ dàng mở rộng.

Đặt nó lại với nhau

fD(y)= =Tôi(y= =0)π+Tôi(y0)(1-π)fD*(y)fD(y)= =Tôi(y= =0)FD*(0)+Tôi(y0)(1-FD*(0))fD*(y)

và thông báo rằng họ cả hai đều có hình thức tương tự:

Tôi(y= =0)δ+Tôi(y0)(1-δ)fD*(y)

YδY*δδY*

D*μ= =XβZg(π)= =Xβg= =FD*-1

Z*Y*

Bạn nên sử dụng cái nào?

Nếu bạn có một "câu chuyện kiểm duyệt" hấp dẫn, hãy sử dụng mô hình kiểm duyệt. Một cách sử dụng cổ điển của mô hình Tobit - tên kinh tế lượng cho hồi quy tuyến tính Gaussian bị kiểm duyệt - là để mô hình hóa các phản ứng khảo sát được "mã hóa hàng đầu". Tiền lương thường được báo cáo theo cách này, trong đó tất cả tiền lương trên một số mức cắt, giả sử 100.000, chỉ được mã hóa là 100.000. Đây không phải là điều tương tự như cắt ngắn , nơi cá nhân với mức lương trên 100.000 không quan sát thấy ở tất cả . Điều này có thể xảy ra trong một cuộc khảo sát chỉ dành cho những cá nhân có mức lương dưới 100.000.

εε

Nếu không, một mô hình rào cản hoặc thổi phồng là một lựa chọn an toàn. Thông thường không sai khi đưa ra giả thuyết về quy trình tạo dữ liệu hai bước chung và nó có thể cung cấp một số thông tin chi tiết về dữ liệu của bạn mà bạn có thể không có bằng cách khác.

[0,1]

Cắt ngắn

Chỉnh sửa: đã xóa, vì giải pháp này không chính xác


2
εε

XcPr(Xc)= =0

Về mặt toán học tôi thấy không có sự khác biệt. Về mặt khái niệm tôi sẽ sẵn sàng thừa nhận rằng có thể có một sự khác biệt tinh tế, trong đó phân phối bị kiểm duyệt gợi ý cho chúng ta rằng phân phối của một kết quả không kiểm duyệt giả định sẽ là gì, trong khi việc dán một nguyên tử vào ranh giới của phân phối bị cắt cụt sẽ không giả định về điều đó phân phối giả thuyết. Có thể có một sự khác biệt toán học ( tức là thực) trong các tình huống kiểm duyệt phức tạp hơn, chẳng hạn như khi giới hạn kiểm duyệt khác nhau.
whuber

@whuber nó chỉ đi vào cách nguyên tử được tham số hóa, phải không? Như trong, một Gaussian không bị kiểm duyệt sẽ tương đương với một Gaussian không bị thổi phồng, bị cắt ngắn với "chức năng liên kết" Probit
Shadowtalker 17/03/2015

1
yθ= =XβFθ(y)= =F(y-θ)= =F(y-Xβ)Fθ(0)= =F(-Xβ)

0

Hãy để tôi bắt đầu bằng cách nói rằng áp dụng OLS là hoàn toàn có thể, nhiều ứng dụng thực tế thực hiện điều này. Nó gây ra (đôi khi) vấn đề mà bạn có thể kết thúc với các giá trị được trang bị nhỏ hơn 0 - Tôi cho rằng đây là điều bạn lo lắng? Nhưng nếu chỉ có rất ít giá trị được trang bị dưới 0, thì tôi sẽ không lo lắng về nó.

Mô hình quỹ đạo có thể (như bạn nói) được sử dụng trong trường hợp mô hình bị kiểm duyệt hoặc cắt ngắn. Nhưng nó cũng áp dụng trực tiếp vào trường hợp của bạn, trên thực tế mô hình quỹ đạo đã được phát minh ra trường hợp của bạn. Y "cọc" lên 0, và nếu không thì liên tục. Điều cần nhớ là mô hình quỹ đạo rất khó diễn giải, bạn sẽ cần phải dựa vào APE và PEA. Xem các bình luận dưới đây.

Bạn cũng có thể áp dụng mô hình hồi quy sở hữu, có một cách diễn giải gần như OLS - nhưng nó thường được sử dụng với dữ liệu đếm. Wooldridge 2012 CHAP 17, chứa một cuộc thảo luận rất gọn gàng về chủ đề này.


"Mô hình quỹ đạo không có giải thích thực sự" bạn có thể giải thích điều này nhiều hơn một chút không? Tôi không thể nói tôi đồng ý với tuyên bố đó.
Shadowtalker 17/03/2015

cY

@ssdecontrol Trong mô hình quỹ đạo, \ beta_j đo lường các hiệu ứng một phần của x_j trên E (y * | x), trong đó y * là biến tiềm ẩn (còn gọi là). Biến mà OP muốn mô hình là y, đó là kết quả quan sát được (số giờ làm việc, đóng góp từ thiện, v.v.). Đây là lý do tại sao người ta nên dựa vào hiệu ứng một phần trung bình (APE) và hiệu ứng một phần ở mức trung bình (PEA). Bạn không nên sử dụng mô hình bị kiểm duyệt. Nếu dữ liệu của bạn bị kiểm duyệt, bạn sẽ biết, tức là: bạn có câu hỏi về thu nhập, trong đó câu trả lời cuối cùng là "Tôi kiếm được nhiều hơn $ x", thông tin đó có thể "đưa vào" ước tính -> kiểm duyệt.
Repmat 17/03/2015

@ user3551644 chắc chắn, nhưng tôi không thấy cách bạn có thể nói rằng mô hình do đó "không có giải thích thực sự"
Shadowtalker 17/03/2015

Hmm, okay, tôi sẽ cập nhật câu trả lời của tôi.
Repmat 17/03/2015
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.