因此,我使用的是survreg,我期望我的預測結果服從0的下限,但它們經常表示負面結果。我認爲它是以某種方式估計線性結果,而不是我嘗試創建的生存模型。以下是我所做的:預測與survreg/tobit越過界限
linear.first.stage<-lm(y ~ x, data=clip)
首先,我估計了一些要加快我的估計過程的幾點。沒有這個第一階段它就不會收斂。我創建了一個生存對象,遵循來自?survreg的代碼,它提供了一個明確的迴歸迴歸示例。我在下面重複了x和y。在我的數據集中,y只能觀察到一個非負值,但如果它是正值,它傾向於正常分佈約200左右,sd約爲20.X可以取任何值並且不受理論約束通過任何特定的數字,立即想到。
surv_y<-Surv(clip$y, clip$y>0,type="left")
first.stage<-survreg(surv_y ~ x,init=(linear.first.stage), dist="gaussian", data=clip)
我運行生存迴歸,它應該相當於一個Tobit。爲了證實我對事件的解釋是相同的,我跑了以下內容:
test<-tobit(y~x, left=0, right=Inf, dist="gaussian", data=clip)
p_test<-predict(test)
p<-predict(first.stage)
plot(p_test-p)
圖中顯示,在零水平線,所以在目測時這些命令是相同的,因爲他們應該。但是,在這兩種情況下,預測0以下的結果。這是有問題的,因爲我已經指出可觀察信息的左邊界是0.我的期望是所有預測值必須> 0。
我曾嘗試預測使用類型「鏈接」,「響應」,「線性」,但無濟於事。我假設預測命令產生的結果爲,就好像審查沒有發生一樣。我如何產生服從0的下界的預測?
參考文獻:
- Running predict() after tobit() in package AER
- https://stats.stackexchange.com/questions/11440/standardized-residuals-of-a-tobit-model-in-r
你能解釋一下'Surv'對象的構造嗎? 'event'由'clip $ y> 0'定義。那麼爲什麼不強迫某些預測是負面的呢? (我並不瞭解這種結構是如何有意義的,根據觀察時間來定義事件似乎是錯誤的,一般需要生存和審查過程比這更獨立) – 2013-04-07 20:39:05
I我不確定我是否理解你對觀察時間的評論 - 我只熟悉託比對這種迴歸的使用。也許我誤解了surreg的應用?我試圖澄清以上。 – RegressForward 2013-04-07 20:59:52
我已經使用罐裝Tobit命令運行了同樣的事情,所以至少我不會對命令的語法在這裏如何操作感到困惑。在這種情況下,Y不是持續時間。相反,y就像工資(不能低於0),而x就像教育水平,這是就業/工資的一個因素。 – RegressForward 2013-04-08 00:12:23