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

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

statsmodel中預測值和擬合值的區別

statsmodel中預測值和擬合值的區別

絕地無雙 2023-02-22 19:01:35
我有一個非?;镜膯栴},我無法以某種方式找到真正的答案。假設我有一個模型:import statsmodels.formula.api as smf model = smf.ols(....).fit()model.fittedvalues和 和有什么不一樣model.predict?
查看完整描述

2 回答

?
HUX布斯

TA貢獻1876條經驗 獲得超6個贊

model.predict是一種預測值的方法,因此您可以為其提供一個看不見的數據集:


import statsmodels.formula.api as smf

import pandas as pd

import numpy as np

df = pd.DataFrame(np.random.randn(100,2),columns=['X','Y'])


model = smf.ols('Y ~ X',data=df).fit()


model.predict(exog=pd.DataFrame({'X':[1,2,3]}))

如果您不提供 exog 參數,它會通過調用存儲在對象下的數據返回預測,您可以在源代碼下看到:


def predict(self, params, exog=None):

        """

        Return linear predicted values from a design matrix.


        Parameters

        ----------

        params : array_like

            Parameters of a linear model.

        exog : array_like, optional

            Design / exogenous data. Model exog is used if None.


        Returns

        -------

        array_like

            An array of fitted values.


        Notes

        -----

        If the model has not yet been fit, params is not optional.

        """

        # JP: this does not look correct for GLMAR

        # SS: it needs its own predict method


        if exog is None:

            exog = self.exog


        return np.dot(exog, params)

另一方面,model.fittedvalues是一個屬性,它是存儲的擬合值。由于上面解釋的原因,它將與 model.predict() 完全相同。


您也可以查看此類型的方法。


查看完整回答
反對 回復 2023-02-22
?
函數式編程

TA貢獻1807條經驗 獲得超9個贊

調用時smf.ols(....).fit(),您將模型與數據相匹配。即對于數據集中的每個數據點,模型會嘗試對其進行解釋并為其計算一個值。在這一點上,模型只是試圖解釋你的歷史數據,還沒有預測任何東西。另請注意,這fittedvalues是模型的屬性(或屬性)。

model.predict()是模型實際預測未見值的一種方法。


查看完整回答
反對 回復 2023-02-22
  • 2 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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