def test_breaks_hansen(self): # > sc = sctest(ginv ~ ggdp + lint, type="Nyblom-Hansen") # > mkhtest(sc, 'breaks_nyblom_hansen', 'BB') breaks_nyblom_hansen = dict(statistic=1.0300792740544484, pvalue=0.1136087530212015, parameters=(), distr="BB") bh = smsdia.breaks_hansen(self.res) assert_almost_equal(bh[0], breaks_nyblom_hansen["statistic"], decimal=13)
def test_breaks_hansen(self): #> sc = sctest(ginv ~ ggdp + lint, type="Nyblom-Hansen") #> mkhtest(sc, 'breaks_nyblom_hansen', 'BB') breaks_nyblom_hansen = dict(statistic=1.0300792740544484, pvalue=0.1136087530212015, parameters=(), distr='BB') bh = smsdia.breaks_hansen(self.res) assert_almost_equal(bh[0], breaks_nyblom_hansen['statistic'], decimal=13)
plt.plot(rcusum) plt.plot(rcusumci[0]) plt.plot(rcusumci[1]) plt.figure() plt.plot(rresid) plt.plot(np.abs(rresid)) print('cusum test reject:') print(((rcusum[1:] > rcusumci[1]) | (rcusum[1:] < rcusumci[0])).any()) rresid2, rparams2, rypred2, rresid_standardized2, rresid_scaled2, rcusum2, rcusumci2 = \ recursive_olsresiduals(res1, skip) #assert_almost_equal(rparams[skip+1:], rparams2[skip:-1],13) assert_almost_equal(rparams[skip:], rparams2[skip:], 13) #np.c_[rparams[skip+1:], rparams2[skip:-1]] #plt.show() #################### Example break test H, crit95 = breaks_hansen(res1) print(H) print(crit95) supb, pval, crit = breaks_cusumolsresid(res1.resid) print(supb, pval, crit) ##check whether this works directly: Ploberger/Kramer framing of standard cusum ##no, it's different, there is another denominator #print breaks_cusumolsresid(rresid[skip:]) #this function is still completely wrong, cut and paste does not apply #print breaks_cusum(rresid[skip:])