簡體   English   中英

縮小 lm object 的大小以進行繪圖

[英]Donwsizing a lm object for plotting

我想使用 {performance} 中的check_model()但我正在處理數百萬個數據點,這使得繪圖成本太高。 是否可以從lm() model 采樣而不影響其他所有內容(例如,它的系數)。

# defining a model
model = lm(mpg ~ wt + am + gear + vs * cyl, data = mtcars)

# checking model assumptions
performance::check_model(model)

代表 package (v2.0.1) 於 2022 年 8 月 23 日創建

替代方案:縮小規模,好嗎? 例如,在 ML 工作流程中,我將 donwsample 用於調整、特征選擇和特征工程。 但我不知道這在經典線性回歸建模中是否常見(可以在縮小樣本中測試異方差性,然后用全樣本估計系數嗎?)

加快check_model

文檔( ?check_model )解釋了一些你可以做的事情來加速函數/繪圖而無需二次采樣:

對於具有許多觀察值的模型,或更復雜的模型,生成 plot 可能會變得非常緩慢。 一個原因可能是底層圖形引擎在繪制許多數據點時變得很慢。 在這種情況下,設置參數 show_dots = FALSE 可能會有所幫助。 此外,查看 check 參數,看看是否可以跳過某些 model 檢查,這也提高了性能。

因此,您可以使用check_model(model, show_dots = FALSE)關閉每點默認值。 如果您對它們不感興趣,您還可以選擇獲得的特定檢查(減少計算時間)。 例如,您可以使用check_model(model, check = "pp_check")后驗預測分布中獲取樣本。

下采樣的含義

選擇觀察的子集(和/或如果您使用貝葉斯模型,則從后驗中提取)將始終改變任何以數據為條件的結果。 您的 model 參數和基於數據的估計后摘要都會發生變化。 它將改變多少取決於您的觀察結果和樣本量的可變性。 有了數百萬次觀察,它可能不太可能發生太大變化——但也許一些罕見的數據模式會在(后)估計期間嚴重影響您的結果。

基於與您估計的不同的 model 繪制異方差性幾乎沒有意義,但您的里程可能會有所不同,因為模型可能差異不大。 您正在評估您的 model 與高斯馬爾可夫方差假設的近似程度,而不是另一個 model 的近似程度。 從計算的角度來看,這樣做也令人費解:殘差是估計的一部分——如果你能擬合 model,你大概也可以以各種方式顯示殘差。

話雖如此,無論如何,這些圖也是實際興趣分布的近似值(即,您正在使用其中一些圖隱式估計測試統計數據),並且由於中心極限定理適用,如果您刪掉一些,事情看起來大致相同給定您的數據足夠大的觀察結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM