# -*- coding: utf-8 -*-
"""
Created on Mon Dec 27 14:07:05 2021

@author: Sim
"""
import numpy as np
import pandas as pd
import statsmodels.api as sm
from statsmodels.formula.api import ols
import scipy.stats as st

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)
df = pd.DataFrame({'iq': iq, 'vt': vt})

lm1 = sm.OLS(iq, vt1).fit()
lm2 = ols('iq ~ vt', data=df).fit()

b0, b1 = lm1.params
se0, se1 = lm2.bse
t0 = (b1 - 1)/se1
t0p = 1-st.t.cdf(t0, lm1.nobs-2)
print(t0, t0p)

lbd = b0 - st.t.ppf(0.975, lm2.nobs-2)*se0
ubd = b0 + st.t.ppf(0.975, lm2.nobs-2)*se0
print(lbd, ubd)

