残留诊断图

因此,我正在尝试编写一个绘制残差诊断图的函数-图,直方图,qq和acf

我遵循python中的函数plot_diagnostic(),但是我想添加一些修饰

我不知道如何在直方图中添加KDE和正态分布N(0,1)-我可以寻求帮助吗?

COde跌倒了:


import seaborn as sns
import statsmodels.tsa.api as smt
import matplotlib.pyplot as plt
import statsmodels.graphics.gofplots as sgg
from scipy.stats import gaussian_kde,norm
def tsplot_resid(y,lags=None,title="Graf časové řady",legend = True,figsize=(14,9),lw = 8):

    y = y.iloc[0:,0]
    #Original source: https://tomaugspurger.github.io/modern-7-timeseries.html

    fig = plt.figure(figsize=figsize)
    layout = (2,2)
    ts_ax   = plt.subplot2grid(layout,(0,0))
    hist_ax = plt.subplot2grid(layout,1))
    acf_ax  = plt.subplot2grid(layout,(1,1))
    qq_ax = plt.subplot2grid(layout,0))
    y.plot(ax=ts_ax,grid = True,legend = True)
    ts_ax.axhline(y=0,color='r',linewidth=3,alpha = 0.75) 
    ts_ax.set_title(title)
    # ts_ax.set_xlim([dt.datetime(1949,1,1),dt.datetime(1960,1)])
    ts_ax.set_xlabel("Roky")
    ts_ax.set_ylabel("Hodnoty")
    ts_ax.tick_params(axis = 'x',rotation = 45);
    ts_ax.tick_params(labelsize = 15);

    y.plot(ax=hist_ax,kind='hist',bins=8,edgecolor = "w");
    hist_ax.set_title('Histogram')
    hist_ax.set_xlabel("Hodnoty")
    hist_ax.set_ylabel("Frekvence")

    # ADD KDE AND NORMAL DISTRIBUTION


    smt.graphics.plot_acf(y.dropna(),lags=lags,ax=acf_ax,);
    sgg.qqplot(y.dropna(),ax=qq_ax,line = "s");

    acf_ax.set_title("ACF")
    acf_ax.grid()
    acf_ax.set_xlabel("Zpoždění")

    qq_ax.set_title("qq-plot")
    qq_ax.grid()
    qq_ax.set_xlabel("Zpoždění")
    qq_ax.set_ylabel("")
    [ax.set_xlim(-1) 

     for ax in [acf_ax]]
    sns.despine()
    plt.tight_layout()
    return ts_ax,acf_ax,qq_ax

zh860103 回答:残留诊断图

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3156270.html

大家都在问