Ë
    £�DjÈ  ã                   ó4   — d dl Zd dlZd dlmZ  G d„ d«      Zy)é    N)Ústatsc                   óŽ   — e Zd ZdZ	 	 	 dd„Zdd„Zed„ «       Zed„ «       Zed„ «       Z	ed„ «       Z
ed	„ «       Zdd
„Zdd„Zdd„Zy)ÚPredictionResultsa¤  
    Prediction results

    Parameters
    ----------
    predicted_mean : {ndarray, Series, DataFrame}
        The predicted mean values
    var_pred_mean : {ndarray, Series, DataFrame}
        The variance of the predicted mean values
    dist : {None, "norm", "t", rv_frozen}
        The distribution to use when constructing prediction intervals.
        Default is normal.
    df : int, optional
        The degree of freedom parameter for the t. Not used if dist is None,
        "norm" or a callable.
    row_labels : {Sequence[Hashable], pd.Index}
        Row labels to use for the summary frame. If None, attempts to read the
        index of ``predicted_mean``
    Nc                 ó  — t        j                  |«      | _        t        j                  |«      | _        || _        || _        |€t        |dd «      | _        | j
                  d u| _        |dk7  r|�t        d«      ‚|�|dk(  rt        j                  | _        d| _        y |dk(  r(t        j                  | _        | j                  f| _        y t        |t        j                  j                   «      r|| _        d| _        y t        d«      ‚)NÚindexÚtz$df must be None when dist is not "t"Únorm© z/dist must be a None, "norm", "t" or a callable.)ÚnpÚasarrayÚ_predicted_meanÚ_var_pred_meanÚ_dfÚ_row_labelsÚgetattrÚ_use_pandasÚ
ValueErrorr   r	   ÚdistÚ	dist_argsr   Ú
isinstanceÚdistributionsÚ	rv_frozen)ÚselfÚpredicted_meanÚvar_pred_meanr   ÚdfÚ
row_labelss         úcC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\statsmodels\tsa\base\prediction.pyÚ__init__zPredictionResults.__init__   sâ   € ô  "Ÿz™z¨.Ó9ˆÔÜ Ÿj™j¨Ó7ˆÔØˆŒØ%ˆÔØÐÜ& ~°wÀÓEˆDÔØ×+Ñ+°4Ð7ˆÔà�3Š;˜2˜>ÜÐCÓDÐDàˆ<˜4 6š>ÜŸ
™
ˆDŒIØˆD�NØ�SŠ[ÜŸ™ˆDŒIØ"Ÿh™h˜[ˆD�NÜ˜œe×1Ñ1×;Ñ;Ô<ØˆDŒIØˆD�NäÐNÓOÐOó    c                 óÄ   — | j                   s|S |j                  dk(  r"t        j                  || j                  |¬«      S t        j
                  || j                  |¬«      S )Né   )r   Úname)r   Úcolumns)r   ÚndimÚpdÚSeriesr   Ú	DataFrame)r   Úvaluer#   r$   s       r   Ú_wrap_pandaszPredictionResults._wrap_pandas:   sM   € Ø×ÒØˆLØ�:‰:˜Š?Ü—9‘9˜U¨$×*:Ñ*:ÀÔFÐFÜ�|‰|˜E¨×)9Ñ)9À7ÔKÐKr    c                 ó   — | j                   S )z$The row labels used in pandas-types.)r   ©r   s    r   r   zPredictionResults.row_labelsA   s   € ð ×ÑÐr    c                 ó:   — | j                  | j                  d«      S )zThe predicted meanr   )r*   r   r,   s    r   r   z PredictionResults.predicted_meanF   s   € ð × Ñ  ×!5Ñ!5Ð7GÓHÐHr    c                 ó„   — | j                   j                  dkD  r| j                   S | j                  | j                   d«      S )z"The variance of the predicted meané   r   )r   r%   r*   r,   s    r   r   zPredictionResults.var_pred_meanK   s=   € ð ×Ñ×#Ñ# aÒ'Ø×&Ñ&Ð&Ø× Ñ  ×!4Ñ!4°oÓFÐFr    c                 ó,  — | j                   j                  }|dk(  r t        j                  | j                   «      }nH|dk(  r8t        j                  | j                   j                  j                  «       «      }nt        d«      ‚| j                  |d«      S )z,The standard deviation of the predicted meanr"   é   zvar_pre_mean must be 1 or 3 dimÚmean_se)r   r%   r   ÚsqrtÚTÚdiagonalÚNotImplementedErrorr*   )r   r%   Úvaluess      r   Úse_meanzPredictionResults.se_meanR   sy   € ð ×"Ñ"×'Ñ'ˆØ�1Š9Ü—W‘W˜T×0Ñ0Ó1‰FØ�QŠYÜ—W‘W˜T×0Ñ0×2Ñ2×;Ñ;Ó=Ó>‰Fä%Ð&GÓHÐHØ× Ñ  ¨Ó3Ð3r    c                 óz   — | j                   | j                  z  }t        |t        j                  «      rd|_        |S )z9The ratio of the predicted mean to its standard deviationÚtvalues)r   r8   r   r&   r'   r#   )r   Úvals     r   r:   zPredictionResults.tvalues^   s2   € ð ×!Ñ! D§L¡LÑ0ˆÜ�cœ2Ÿ9™9Ô%Ø ˆCŒHØˆ
r    c                 ó–  — | j                   |z
  | j                  z  }|dv rA | j                  j                  t	        j
                  |«      g| j                  ¢­Ž dz  }||fS |dv r+ | j                  j                  |g| j                  ¢­Ž }||fS |dv r+ | j                  j                  |g| j                  ¢­Ž }||fS t        d«      ‚)a8  
        z- or t-test for hypothesis that mean is equal to value

        Parameters
        ----------
        value : array_like
            value under the null hypothesis
        alternative : str
            'two-sided', 'larger', 'smaller'

        Returns
        -------
        stat : ndarray
            test statistic
        pvalue : ndarray
            p-value of the hypothesis test, the distribution is given by
            the attribute of the instance, specified in `__init__`. Default
            if not specified is the normal distribution.
        )ú	two-sidedz2-sidedÚ2sr/   )ÚlargerÚl)ÚsmallerÚszinvalid alternative)	r   r8   r   Úsfr   Úabsr   Úcdfr   )r   r)   ÚalternativeÚstatÚpvalues        r   Út_testzPredictionResults.t_testf   sÑ   € ð* ×#Ñ# eÑ+¨t¯|©|Ñ;ˆàÐ8Ñ8Ø!�T—Y‘Y—\‘\¤"§&¡&¨£,Ð@°·±Ò@À1ÑDˆFð �Vˆ|Ðð ˜OÑ+Ø!�T—Y‘Y—\‘\ $Ð8¨¯©Ò8ˆFð
 �Vˆ|Ðð	 Ð,Ñ,Ø"�T—Y‘Y—]‘] 4Ð9¨$¯.©.Ò9ˆFð �Vˆ|Ðô Ð2Ó3Ð3r    c                 ó0  — | j                   } | j                  j                  d|dz  z
  g| j                  ¢­Ž }| j                  ||z  z
  }| j                  ||z  z   }t        j                  ||f«      }| j                  r| j                  |ddg¬«      S |S )a	  
        Confidence interval construction for the predicted mean.

        This is currently only available for t and z tests.

        Parameters
        ----------
        alpha : float, optional
            The significance level for the prediction interval.
            The default `alpha` = .05 returns a 95% confidence interval.

        Returns
        -------
        pi : {ndarray, DataFrame}
            The array has the lower and the upper limit of the prediction
            interval in the columns.
        r"   g       @ÚlowerÚupper)r$   )	r8   r   Úppfr   r   r   Úcolumn_stackr   r*   )r   ÚalphaÚseÚqrK   rL   Úcis          r   Úconf_intzPredictionResults.conf_int‡   s•   € ð$ �\‰\ˆØˆD�I‰I�M‰M˜!˜e c™k™/Ð;¨D¯N©NÒ;ˆØ×#Ñ# a¨"¡fÑ,ˆØ×#Ñ# a¨"¡fÑ,ˆÜ�_‰_˜e U˜^Ó,ˆØ×ÒØ×$Ñ$ R°'¸7Ð1CÐ$ÓDÐDØˆ	r    c                 óÐ   — t        j                  | j                  |¬«      «      }|dd…df   |dd…df   }}| j                  | j                  ||dœ}t        j                  |«      S )a‰  
        Summary frame of mean, variance and confidence interval.

        Returns
        -------
        DataFrame
            DataFrame containing four columns:

            * mean
            * mean_se
            * mean_ci_lower
            * mean_ci_upper

        Notes
        -----
        Fixes alpha to 0.05 so that the confidence interval should have 95%
        coverage.
        )rO   Nr   r"   )Úmeanr2   Úmean_ci_lowerÚmean_ci_upper)r   r   rS   r   r8   r&   r(   )r   rO   Úci_meanrK   rL   Ú
to_includes         r   Úsummary_framezPredictionResults.summary_frame¢   sd   € ô& —*‘*˜TŸ]™]°˜]Ó7Ó8ˆØšq !˜t‘} gªa°¨d¡mˆuˆà×'Ñ'Ø—|‘|Ø"Ø"ñ	
ˆ
ô �|‰|˜JÓ'Ð'r    )NNN)NN)r   r=   )gš™™™™™©?)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r*   Úpropertyr   r   r   r8   r:   rI   rS   rZ   r
   r    r   r   r      s–   „ ñð0 ØØóPó>Lð ñ ó ð ð ñIó ðIð ñGó ðGð ñ	4ó ð	4ð ñó ðóóBô6(r    r   )Únumpyr   Úpandasr&   Úscipyr   r   r
   r    r   ú<module>rc      s   ðÛ Û Ý ÷w(ò w(r    