本文整理汇总了Python中statsmodels.duration.hazard_regression.PHReg.from_formula方法的典型用法代码示例。如果您正苦于以下问题:Python PHReg.from_formula方法的具体用法?Python PHReg.from_formula怎么用?Python PHReg.from_formula使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类statsmodels.duration.hazard_regression.PHReg
的用法示例。
在下文中一共展示了PHReg.from_formula方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_formula
# 需要导入模块: from statsmodels.duration.hazard_regression import PHReg [as 别名]
# 或者: from statsmodels.duration.hazard_regression.PHReg import from_formula [as 别名]
def test_formula(self):
np.random.seed(34234)
time = 50 * np.random.uniform(size=200)
status = np.random.randint(0, 2, 200).astype(np.float64)
exog = np.random.normal(size=(200,4))
entry = np.zeros_like(time)
entry[0:10] = time[0:10] / 2
df = pd.DataFrame({"time": time, "status": status,
"exog1": exog[:, 0], "exog2": exog[:, 1],
"exog3": exog[:, 2], "exog4": exog[:, 3],
"entry": entry})
mod1 = PHReg(time, exog, status, entry=entry)
rslt1 = mod1.fit()
fml = "time ~ 0 + exog1 + exog2 + exog3 + exog4"
mod2 = PHReg.from_formula(fml, df, status=status,
entry=entry)
rslt2 = mod2.fit()
mod3 = PHReg.from_formula(fml, df, status="status",
entry="entry")
rslt3 = mod3.fit()
assert_allclose(rslt1.params, rslt2.params)
assert_allclose(rslt1.params, rslt3.params)
assert_allclose(rslt1.bse, rslt2.bse)
assert_allclose(rslt1.bse, rslt3.bse)
示例2: test_predict_formula
# 需要导入模块: from statsmodels.duration.hazard_regression import PHReg [as 别名]
# 或者: from statsmodels.duration.hazard_regression.PHReg import from_formula [as 别名]
def test_predict_formula(self):
n = 100
np.random.seed(34234)
time = 50 * np.random.uniform(size=n)
status = np.random.randint(0, 2, n).astype(np.float64)
exog = np.random.uniform(1, 2, size=(n, 2))
df = pd.DataFrame({"time": time, "status": status,
"exog1": exog[:, 0], "exog2": exog[:, 1]})
fml = "time ~ 0 + exog1 + np.log(exog2) + exog1*exog2"
model1 = PHReg.from_formula(fml, df, status=status)
result1 = model1.fit()
from patsy import dmatrix
dfp = dmatrix(model1.data.design_info.builder, df)
pr1 = result1.predict()
pr2 = result1.predict(exog=df)
pr3 = model1.predict(result1.params, exog=dfp) # No standard errors
pr4 = model1.predict(result1.params, cov_params=result1.cov_params(), exog=dfp)
prl = (pr1, pr2, pr3, pr4)
for i in range(4):
for j in range(i):
assert_allclose(prl[i].predicted_values, prl[j].predicted_values)
prl = (pr1, pr2, pr4)
for i in range(3):
for j in range(i):
assert_allclose(prl[i].standard_errors, prl[j].standard_errors)
示例3: test_formula_args
# 需要导入模块: from statsmodels.duration.hazard_regression import PHReg [as 别名]
# 或者: from statsmodels.duration.hazard_regression.PHReg import from_formula [as 别名]
def test_formula_args(self):
np.random.seed(34234)
n = 200
time = 50 * np.random.uniform(size=n)
status = np.random.randint(0, 2, size=n).astype(np.float64)
exog = np.random.normal(size=(200, 2))
offset = np.random.uniform(size=n)
entry = np.random.uniform(0, 1, size=n) * time
df = pd.DataFrame({"time": time, "status": status, "x1": exog[:, 0],
"x2": exog[:, 1], "offset": offset, "entry": entry})
model1 = PHReg.from_formula("time ~ x1 + x2", status="status", offset="offset",
entry="entry", data=df)
result1 = model1.fit()
model2 = PHReg.from_formula("time ~ x1 + x2", status=df.status, offset=df.offset,
entry=df.entry, data=df)
result2 = model2.fit()
assert_allclose(result1.params, result2.params)
assert_allclose(result1.bse, result2.bse)
示例4: test_formula_cat_interactions
# 需要导入模块: from statsmodels.duration.hazard_regression import PHReg [as 别名]
# 或者: from statsmodels.duration.hazard_regression.PHReg import from_formula [as 别名]
def test_formula_cat_interactions(self):
time = np.r_[1, 2, 3, 4, 5, 6, 7, 8, 9]
status = np.r_[1, 1, 0, 0, 1, 0, 1, 1, 1]
x1 = np.r_[1, 1, 1, 2, 2, 2, 3, 3, 3]
x2 = np.r_[1, 2, 3, 1, 2, 3, 1, 2, 3]
df = pd.DataFrame({"time": time, "status": status,
"x1": x1, "x2": x2})
model1 = PHReg.from_formula("time ~ C(x1) + C(x2) + C(x1)*C(x2)", status="status",
data=df)
assert_equal(model1.exog.shape, [9, 8])