reference_rows = [
[
"<code>OLS</code>",
"<code>fit(x, y)</code>",
"1D float predictions",
"<code>intercept</code>, <code>coef</code>, <code>intercept_se</code>, <code>coef_se</code>",
"<code>(B, p + 1)</code> with intercept, else <code>(B, p)</code>",
"Uses Linfa linear regression with HC1 robust standard errors.",
],
[
"<code>FixedEffectsOLS</code>",
"<code>fit(x, fe_uint32, y)</code>",
"No dedicated <code>predict()</code> method",
"<code>coef</code>, <code>coef_se</code>",
"<code>(B, p)</code>",
"Uses <code>within</code> to partial out fixed effects, then Linfa OLS with <code>fit_intercept=False</code> on the residualized design.",
],
[
"<code>SyntheticControl</code>",
"<code>fit(donors, treated)</code>",
"1D float synthetic path from donor outcomes",
"<code>weights</code>, <code>pre_rmse</code>",
"<code>(B, n_donors)</code>",
"Fits nonnegative donor weights that sum to one by minimizing pre-treatment squared error under a simplex constraint.",
],
[
"<code>ElasticNet</code>",
"<code>fit(x, y)</code>",
"1D float predictions",
"<code>intercept</code>, <code>coef</code>, <code>intercept_se</code>, <code>coef_se</code>",
"<code>(B, p + 1)</code> with intercept, else <code>(B, p)</code>",
"Regularized point estimates with HC1-style covariance built from residuals.",
],
[
"<code>Logit</code>",
"<code>fit(x, y_int32)</code>",
"1D <code>int32</code> class labels",
"<code>intercept</code>, <code>coef</code>, <code>intercept_se</code>, <code>coef_se</code>",
"<code>(B, p + 1)</code> with intercept, else <code>(B, p)</code>",
"Binary logistic regression. Standard errors come from the Fisher information.",
],
[
"<code>MultinomialLogit</code>",
"<code>fit(x, y_int32)</code>",
"1D <code>int32</code> class labels",
"<code>coef</code> and <code>se</code> matrices of shape <code>(classes, features_with_intercept)</code>",
"<code>(B, classes * features_with_intercept)</code>",
"Intercept and slopes are packed together by class in the summary matrix.",
],
[
"<code>Poisson</code>",
"<code>fit(x, y)</code>",
"1D float mean counts",
"<code>intercept</code>, <code>coef</code>, <code>intercept_se</code>, <code>coef_se</code>",
"<code>(B, p + 1)</code> with intercept, else <code>(B, p)</code>",
"Custom Newton-CG Poisson MLE with optional L2 penalty via <code>alpha</code>.",
],
[
"<code>TwoSLS</code>",
"<code>fit(x_endog, x_exog, z, y)</code>",
"1D float predictions from the stage-two design matrix",
"<code>intercept</code>, <code>coef</code>, <code>intercept_se</code>, <code>coef_se</code>",
"<code>(B, k + 1)</code> with intercept, else <code>(B, k)</code>",
"Currently single-endogenous in practice. Exogenous regressors follow the endogenous block in <code>predict()</code>.",
],
[
"<code>FTRL</code>",
"<code>fit(x, y_int32)</code>",
"1D float scores in <code>[0, 1]</code>",
"<code>coef</code>, <code>coef_se</code>",
"<code>(B, p)</code>",
"Online-style classification model with a different summary schema and no explicit intercept output.",
],
[
"<code>MEstimator</code>",
"<code>fit(data_dict, theta0)</code>",
"No dedicated <code>predict()</code> method",
"<code>coef</code>, <code>se</code>",
"<code>(B, p)</code>",
"Requires <code>objective_fn(theta, data) -> (obj, grad)</code> and <code>score_fn(theta, data)</code> returning an <code>(n, p)</code> matrix.",
],
]
display(
HTML(
html_table(
["Estimator", "Fit", "Predict", "Summary Keys", "Bootstrap", "Notes"],
reference_rows,
)
)
)