2014-03-04 50 views
1

我觀測並模擬了降水。我想使用verification包來驗證模型的技巧。降水預報驗證R包

爲此,我必須將pred值轉換爲概率預測值並將obs轉換爲二進制值。例如precipitation amount>2mm。這是壽下面的腳本

A<- verify(obs, pred, frcst.type = "prob", obs.type = "binary") 

summary(A) 

我的問題用的是如何pred轉換成概率和obs成二進制使用上面的腳本

我的數據的長度是122這裏是數據。

> Obs 

[1] 1.9 3.7 3.4 1.1 1.0 1.0 0.6 2.8 1.4 1.9 1.6 1.3 3.6 3.6 3.9 

[16] 3.4 2.7 5.9 3.8 1.8 2.2 2.5 2.6 2.4 2.6 1.5 1.0 11.2 2.1 0.6 

[31] 1.8 3.8 4.0 1.3 2.4 2.9 3.9 2.7 1.1 2.6 0.6 2.5 3.1 4.9 3.2 

[46] 2.1 3.6 0.1 2.4 2.3 3.7 0.6 4.0 12.5 4.3 2.3 3.0 3.4 2.3 2.1 

[61] 3.9 2.6 1.9 2.0 3.7 2.2 0.7 0.2 2.5 2.8 4.1 4.2 3.1 5.9 2.8 

[76] 2.1 3.7 1.2 2.3 2.6 6.3 1.9 2.9 6.3 7.1 4.0 5.3 1.1 2.5 3.6 

[91] 5.7 2.9 1.9 0.9 3.0 2.0 1.6 3.3 4.5 4.3 3.3 2.0 0.6 0.9 0.6 

[106] 1.1 1.2 2.7 0.5 3.1 1.2 0.1 0.5 1.3 0.7 3.1 2.4 2.7 1.1 1.7 

[121] 3.5 2.2 

> Pred 

    [1] 0.3 0.7 1.6 4.8 2.2 2.4 1.8 3.1 3.4 2.2 3.0 1.0 0.5 1.2 1.4 1.4 0.7 0.9 

[19] 1.6 1.0 0.8 0.6 1.2 1.7 1.9 2.6 2.7 2.7 5.8 9.4 5.3 3.4 4.1 3.9 3.0 2.8 

[37] 3.7 4.6 6.3 3.3 3.0 4.6 3.8 4.1 3.2 3.4 5.3 7.5 5.9 3.4 2.1 2.6 2.7 3.4 

[55] 5.4 9.7 5.9 3.6 2.9 2.6 2.0 2.9 4.2 5.1 4.2 3.0 3.5 5.2 3.7 3.2 3.2 3.7 

[73] 3.1 4.5 4.8 3.8 6.1 5.3 4.8 8.1 5.9 4.8 6.3 6.6 8.4 6.6 4.8 4.3 1.3 1.3 

[91] 3.1 4.5 2.8 3.6 3.6 4.2 3.6 4.1 3.2 3.4 3.8 3.1 2.4 1.6 0.6 1.3 2.1 1.9 

[109] 2.0 1.9 1.5 1.1 0.8 0.9 1.7 1.0 0.7 1.1 1.1 1.1 1.6 2.1 
+0

親愛的Bochenek,謝謝你的回答。如果您觀察R驗證包來計算Brier得分,roc.area,命中率和虛警率,它需要obs.type = bin和pred.type = prob。但是我有obs和pred的數據是連續的。這就是爲什麼我想要轉換 – tokicha

+0

你能否確切地說出這條線的問題:A < - verify(obs,pred,frcst.type =「prob」,obs.type =「binary」)我檢查了它,並且它工作得很好。我不明白你爲什麼需要轉換你的數據? –

回答

0

難道你不能只是將選項設置爲連續數據嗎? A < - 驗證(obs,pred,frcst.type =「cont」,obs.type =「cont」)

如果要將obs轉換爲二進制,那很簡單。只需用1替換大於2mm的所有值,並用0替換小於2mm的所有值。 obs [其中(obs => 2)] < -1 obs [預測也一樣,但是你的預測類型也是二元的。否則,您將不得不調整您的預測模型,以便預測降雨量大於2毫米的可能性,而不是預測實際的降雨量。你將不得不從確定性模型轉換爲概率模型。