def html_table_update(*sdv): sdv[0].insert(0, "Murder") formula_ ,_,_ = formula_builder(sdv) lmod = smf.ols(formula = formula_, data = df) results = lmod.fit() coef_df = signif(results.summary().tables).reset_index(drop = False) return df_to_table(coef_df)
def residsonly(*sdv): sdv[0].insert(0, "Murder") _,_, formula_ = formula_builder(sdv) lmod = smf.ols(formula = formula_, data = df) results = lmod.fit() resids = results.resid np.random.seed(45) norm = np.random.normal(np.mean(resids), np.std(resids), 3*len(resids)) x_axis = np.arange(0,len(resids)) residsonly = go.Scatter({ "y": resids, "x": x_axis, "mode": "markers", "marker": {"color": "#ff0000"}, "hoverinfo": "skip"}) norms = go.Scatter({ "y": norm, "x": x_axis, "mode": "markers", "marker": {"color": "#C8C8C8"}, "hoverinfo": "skip"}) plot_layout = {'title': "Residuals", 'xaxis': {"title": "observations"}, 'yaxis': {"title": "residuals"}, 'height': '500', 'width' : '500' } return {"data": [residsonly, norms], "layout": plot_layout}
def residvsfttd(*sdv): sdv[0].insert(0, "Murder") _,_, formula_ = formula_builder(sdv) lmod = smf.ols(formula = formula_, data = df) results = lmod.fit() resids = results.resid ftd = results.fittedvalues residvsfttd = go.Scatter({ "y": resids, "x": ftd, "mode": "markers", "hoverinfo": "skip"}) plot_layout = {'title': "Residuals vs fitted-values", 'xaxis': {"title": "fitted-values"}, 'yaxis': {"title": "residuals"}, 'height': '500', 'width' : '500' } return {"data": [residvsfttd], "layout": plot_layout}
def update_formula(*sdv): sdv[0].insert(0, "Murder") frmla, _,_ = formula_builder(sdv) return "Statsmodels formula: {}".format(frmla) #@app.callback( # Output("bare_formula","children"), # [Input("select_inputs", "value"), # Input("murder_radio", "value"), # Input("population_radio","value"), # Input("income_radio", "value"), # Input("illiteracy_radio","value"), # Input("life_exp_radio", "value"), # Input("hs_grad_radio", "value"), # Input("frost_radio", "value"), # Input("area_radio", "value")] # ) #def update_formula(*sdv): # sdv[0].insert(0, "Murder") # _,_,frmla = formula_builder(sdv) return "Bare formula: {}".format(frmla)
def update_formula(*sdv): sdv[0].insert(0, "Murder") _, disp, _ = formula_builder(sdv) return "Regression formula: {}".format(disp)