from etrics.Utilities import Timing
with Timing("time to print", True):
print("hello world")
from etrics import quantreg
from etrics.quantreg import main, main_2
main()
main_2()
import numpy as np
from scipy.stats.distributions import norm
def createData(theta, form, N):
beta = theta["beta"]
X = np.matrix([np.repeat(1, N), norm.rvs(loc=4, scale=2, size=N), norm.rvs(loc=5, scale=1, size=N)])
eps = np.matrix(norm.rvs(loc=0, scale=1, size=N))
return [X.T * np.matrix(beta).T + eps.T, X.T]
def estimateModel(data):
import statsmodels.regression.linear_model as model
res = model.OLS(data[0], data[1]).fit()
return res.params
from etrics.Simulation import Simulation, Progress, onWarning, Results
x = Simulation("/tmp/statefile.tmp")
x.AddStatistics({"95th Quantile": lambda x: [np.percentile(x, 95, axis=0)]}, type=Results.Original)
x.SetIdentifiedParameters([1,2,3], ("beta{} "*3).format(1,2,3).split())
x.SetStructuralParameters({"beta":[1,2,3]}, None)
x.SetSamplingParameters(N=1000)
x.SetEstimationParameters()
x.Generating += createData
x.Estimating += estimateModel
x.PreEstimation += Progress
x.Warning += onWarning
x.SetWritingOptions("/tmp/table.tmp")
x.Simulate(100)
res1 = x.GetResults(Results.Original)
res2 = x.GetResults(Results.Bias)
print(res2)
from IPython.display import Latex
with open("/tmp/table.tmp", 'r') as t:
print(t.read())