前提・実現したいこと
散布図において単回帰分析をしています。
予測区間を示す直線を引きたいのですが、エラーが出てしまいました。
先日実行したときは表示できていたのですが、次の日に実行するとエラーが出現します。
発生している問題・エラーメッセージ
module 'statsmodels.api' has no attribute 'ols'
該当のソースコード
import pandas as pd import matplotlib.pyplot as plt import numpy as np import statsmodels.api as sm from statsmodels.sandbox.regression.predstd import wls_prediction_std df1=pd.read_table('image1.txt',header=None,sep=" ",engine='python') df1.columns=["有義波周期 (s)","有義波高 (m)"] fig, ax = plt.subplots(figsize=(10,6)) plt.rcParams['figure.subplot.bottom'] = 0.18 plt.rcParams['figure.subplot.left'] = 0.135 x1=df1['有義波周期 (s)'] y1=df1['有義波高 (m)'] ax.set_ylabel('$H_{1/3}$ \n (m)',labelpad=35,fontsize=20, rotation='horizontal') ax.set_xlabel('$T_{1/3}$ (s)',labelpad=25,fontsize=20, rotation='horizontal') ax.set_xlim(0,14) ax.set_ylim(0,2.5) ax.tick_params(axis='x', labelsize= 15) ax.tick_params(axis='y', labelsize=15) ax.set_xticks(np.arange(0,14+1,1)) ax.set_yticks(np.arange(0,2.5+0.25,0.25)) plt.scatter(x1,y1,c='g',s=50, alpha=0.7,label="問題ない") plt.legend(prop={"family":"Meiryo", "size":15}) plt.grid() plt.title("アクセス船の接岸可否", fontname="MS Gothic",fontsize=25) SLR1=sm.ols(formula="y1~x1",data=df1).fit() prstd, iv_l, iv_u = wls_prediction_std(SLR1, alpha=0.05) plt.plot(x1, SLR1.fittedvalues, 'k') plt.plot(x1, iv_u, 'k', label="Ordinary Least Squares") plt.plot(x1, iv_l, 'k')
試したこと
以上のコードで先日は動かせましたが、olsについてエラーが出たため、
大文字でOLSとすると、以下のようなエラーが出ました
__init__() missing 1 required positional argument: 'endog'
補足情報(FW/ツールのバージョンなど)
python3
jupyter notebook
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/21 12:03 編集