R

是否必須對數據進行子集化以驗證模型?

  • December 8, 2018

在驗證我的模型時,我很難與我的主管保持一致。我已經分析了殘差(根據擬合值觀察),並以此為論據來討論我的模型獲得的結果,但是我的主管堅持認為驗證模型的唯一方法是製作我的數據的隨機子集,用其中的 70% 生成模型,然後將模型應用於剩餘的 30%。

問題是,我的響應變量是零膨脹的(其中 85%,更準確地說),我不想創建一個子集,因為它已經很難收斂到一個結果。

所以,我的問題是:驗證模型的可能(和科學上可接受的)方法是什麼?子集數據是唯一的方法嗎?如果可能,請在文章/書籍中引用您的問題,以便我在提出替代方案時可以將其用作論據。

首先,我建議對只有 一個的陳述保持警惕通常是件好事做某事的方法。將獲得的樣本拆分為“訓練”和“測試”數據集是許多機器學習/數據科學應用程序中的常用方法。通常,這些建模方法對有關基礎數據生成過程的假設檢驗不太感興趣,也就是說,它們往往有些不理論。事實上,大多數這類訓練/測試拆分只是想看看模型在預測性能方面是否過擬合。當然,也可以使用訓練/測試方法來查看給定模型是否根據哪些參數“顯著”進行複制,或者查看參數估計值是否在兩種情況下都落在預期範圍內。

從理論上講,驗證模型或使模型無效是科學應該做的事情。獨立研究人員,分別檢查、生成和測試假設,這些假設支持或反駁關於為什麼或在什麼情況下會發生可觀察現象的理論的論點 - 簡而言之就是科學事業(或至少在一個過長的句子中)。因此,為了回答您的問題,對我來說,即使是訓練/測試拆分也不是“驗證”模型。這需要多年研究同一組現象的獨立研究人員收集的證據的重要性。不過,我承認這可能在語義上有所不同,即我認為模型驗證的含義與術語驗證在應用設置中的含義…

根據您的數據和建模方法,從統計的角度來看,將樣本分成訓練集和測試集可能並不總是合適的。例如,小樣本可能特別難以應用這種方法。此外,某些分佈可能具有某些特性,即使使用相對較大的樣本也難以對其進行建模。您的零膨脹案例可能符合後一種描述。如果目標是獲得關於一組關係或被認為可以解釋某些現象的潛在過程的“真相”的近似值,那麼通過故意採用動力不足的方法來測試給定假設,您將不會得到很好的服務。因此,也許第一步是執行功效分析,看看您是否甚至可能在子集數據中復制感興趣的發現。

另一種選擇是指定幾個模型,看看它們是否“更好”地解釋了觀察到的數據。這裡的目標是在一組合理的替代方案中確定最佳模型。這是一個相對的,而不是絕對的,關於你的模型的論點。本質上,您承認可能有其他模型可以用來解釋您的數據,但是您的模型是經過測試的一組替代方案中最好的(至少您希望如此)。集合中的所有模型,包括您的假設模型,都應具有理論基礎;否則你冒著建立一堆統計稻草人的風險。

還有貝葉斯因子,您可以在其中計算模型提供的證據權重,給定您的數據,用於與替代方案相關的特定假設。

這遠不是一個詳盡的選項列表,但我希望它有所幫助。我現在要離開肥皂盒了。請記住,每個已發表的關於人類行為的研究中的每個模型都是不正確的。幾乎總是存在相關的遺漏變量、未建模的交互作用、不完全抽樣的總體,以及只是簡單的舊抽樣錯誤,混淆了潛在的真相。

引用自:https://stats.stackexchange.com/questions/380998

comments powered by Disqus