亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 box-cox 變換中獲取多個 lambda 值?

如何在 box-cox 變換中獲取多個 lambda 值?

largeQ 2023-04-18 15:21:41
我正在嘗試使用下面提到的代碼獲取 lambda 值,但是在進行逆變換時,由于 lambda 的負值,我們得到的轉換值太高。如何獲得正 lambda 值或倍數? python from scipy.stats import boxcox from scipy.special import inv_boxcox     y =[90,20,30,40,50] y,fitted_lambda= boxcox(y,lmbda=None) fitted_lambda  輸出:-0.24598892144685428在這里,我希望 lambda 值為正,或者如果我有 lambda 值列表來選擇最佳值。
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

首先,“我希望 lambda 值為正”這句話毫無意義;Box-Cox 變換是一種定義明確的數學運算,它返回的內容與我們可能想要或喜歡的內容無關。

其次,根據文檔:

如果lmbda為 None,找到最大化對數似然函數的 lambda 并將其作為第二個輸出參數返回。

因此,也不是任何返回值列表——只返回一個(最佳)值。

第三,Box-Cox不是萬能的;很可能數據的最終轉換不適合您的情況(正如您在這里暗示的那樣)。

現在,再次根據SciPy 文檔確實如此:

Box-Cox 變換由下式給出:

y?=?(x**lmbda?-?1)?/?lmbda,??for?lmbda?>?0
????log(x),??????????????????for?lmbda?=?0

似乎lmbda永遠不會期望它是負的;這是一個謎題,但它很可能只是特定 SciPy 文檔頁面中的一個錯誤lmbda != 0,它本來應該是lmbda > 0


查看完整回答
反對 回復 2023-04-18
  • 1 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號