# -*- coding: utf-8 -*-
"""
Created on Tue Nov 30 13:13:35 2021

@author: Sim
"""

import statsmodels.stats.outliers_influence as stoi
import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt

iq = np.array([100 ,123 ,132,  98 ,105 ,110 ,117 , 95, 127 ,135])
vt =np.array([89 , 93 , 97,  80 , 83 , 88 , 90 , 70, 93 , 97])

vt1 = sm.add_constant(vt)
lm2 = sm.OLS(iq, vt1).fit()
res = stoi.summary_table(lm2, 0.05)

data1 = np.append(vt.reshape(-1,1), res[1], axis=1) # x값 추가
data1 = data1[np.argsort(data1[:,0])]
with np.printoptions(precision=3, suppress=True):
     print(np.round(data1,2))
plt.plot(data1[:,0], data1[:,2], '*')  # 관측치
plt.plot(data1[:,0], data1[:,3], 'r-') #  예측치
plt.plot(data1[:,0], data1[:,5], 'g--') # 평균 신뢰하한
plt.plot(data1[:,0], data1[:,6], 'g--') # 평균 신뢰상한
plt.plot(data1[:,0], data1[:,7], 'b-.')  # 개별값 예측하한
plt.plot(data1[:,0], data1[:,8], 'b-.')  # 개별값 예측상한
