Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
robertopucp
GitHub Repository: robertopucp/1eco35_2022_2
Path: blob/main/Lab10/script_linear_model_py.ipynb
2714 views
Kernel: Python 3 (ipykernel)

Lab 10 : R y Python

@autor: Roberto Mendoza

# import libraries import pandas as pd import numpy as np import re from tqdm import tqdm # controlar el tiempo en un loop import os # linear model library import statsmodels.api as sm # linear regression utiliza todas las columnas de base de datos import statsmodels.formula.api as smf # linear regression usa uan formula from sklearn import datasets, linear_model # models from sklearn.metrics import mean_squared_error, r2_score from linearmodels.iv import IV2SLS # for IV regression import warnings warnings.filterwarnings('ignore') # eliminar warning messages # Export latex table from pystout import pystout user = os.getlogin() # Username os.chdir(f"C:/Users/{user}/Documents/GitHub/1ECO35_2022_2/Lab10") # Set directorio

Statamodels documentation

link

Pandas documentation

link

1.0 Summary estatistics table

# laod dataset repdata = pd.read_stata(r"../data/dataverse_files/mss_repdata.dta", convert_categoricals=False) # convert_categoricals=False: No se lee las etiquetas de valor repdata
# summmary statistics repdata.describe() # Tipo de variables repdata.info() repdata.dtypes
<class 'pandas.core.frame.DataFrame'> Int64Index: 743 entries, 0 to 742 Columns: 200 entries, ccode to soc dtypes: datetime64[ns](1), float32(104), float64(78), int32(9), int8(5), object(3) memory usage: 813.4+ KB
ccode float64 year datetime64[ns] country_name object country_code object GPCP float32 ... fh_pol float64 S float32 W float32 WoverS float32 soc float32 Length: 200, dtype: object
# Extraer year # con .month se puede extraer el mes # con .day se puede extraer el día repdata['time_year'] = pd.DatetimeIndex(repdata['year']).year - 1978 repdata['time_year']
0 3 1 4 2 5 3 6 4 7 .. 738 17 739 18 740 19 741 20 742 21 Name: time_year, Length: 743, dtype: int64
dummys = pd.get_dummies(repdata["ccode"].astype(int), prefix = "ccode", dummy_na=False) dummys.columns # se convierte a entero repdata["ccode"].astype(int) # ccode: código por país # dummy_na=False # capturar varibbles omitidas invariantes de cada país
Index(['ccode_404', 'ccode_420', 'ccode_432', 'ccode_433', 'ccode_434', 'ccode_435', 'ccode_436', 'ccode_437', 'ccode_438', 'ccode_439', 'ccode_450', 'ccode_451', 'ccode_452', 'ccode_461', 'ccode_471', 'ccode_475', 'ccode_481', 'ccode_482', 'ccode_483', 'ccode_484', 'ccode_490', 'ccode_500', 'ccode_501', 'ccode_510', 'ccode_516', 'ccode_517', 'ccode_520', 'ccode_522', 'ccode_530', 'ccode_540', 'ccode_541', 'ccode_551', 'ccode_552', 'ccode_553', 'ccode_560', 'ccode_565', 'ccode_570', 'ccode_571', 'ccode_572', 'ccode_580', 'ccode_625'], dtype='object')
dummys
len(dummys.columns)
41
Reference get_dummies

LINK

repdata = pd.concat([ repdata , dummys], axis = 1 ) # concantenar ambas bases de datos de manera horizontal (axis = 1)
repdata
# Creación del trend_country effects : multiplicación de las dummy por país y la variable temporal # capturar variables omitidas variantes en el tiempo por cada país. i = 0 while i < 41: # 41 por el tema de indexing pues en python la posición inicial es cero. var = dummys.columns[i]+"_"+"time" # creamos el nombre de cada variable repdata[var] = repdata[dummys.columns[i]]*repdata["time_year"] # multiplicacón de variables: dummy país * variable temporal i = i + 1
# observamos para país y la variable temporarl. repdata[['ccode','time_year']].iloc[0:40,:]
# Seleccionamos las variables para las estadísticas descriptivas table1 = repdata.loc[:,["any_prio", "any_prio_on", "any_prio_off","war_prio", "war_prio_on", "war_prio_off", "war_col", "war_inc", "war","GPCP", "GPCP_g", "GPCP_g_l","gdp_g", "gdp_g_l", "y_0", "polity2l", "polity2l_6", "ethfrac", "relfrac", "Oil", "lmtnest", "lpopl1", "tot_100_g"]] table1
# selccionamos los estadísticos de interés: media, error estándar y cantidad de observaciones summary_table = table1.describe().loc[["mean","std","count"]] summary_table
summary_table = table1.describe().loc[["mean","std","count"]].T summary_table # .t permite tranponer el DataFrame
table1.columns
Index(['any_prio', 'any_prio_on', 'any_prio_off', 'war_prio', 'war_prio_on', 'war_prio_off', 'war_col', 'war_inc', 'war', 'GPCP', 'GPCP_g', 'GPCP_g_l', 'gdp_g', 'gdp_g_l', 'y_0', 'polity2l', 'polity2l_6', 'ethfrac', 'relfrac', 'Oil', 'lmtnest', 'lpopl1', 'tot_100_g'], dtype='object')
table1.columns new_names = ["Civil conflict with ≥25 deaths: (PRIO/Uppsala)","Onset","Offset", "Civil conflict with ≥1,000 deaths:PRIO/Uppsala","Onset","Offset","Collier and Hoeffler (2002)", "Doyle and Sambanis (2000)","Fearon and Laitin (2003)", "Annual rainfall (mm), GPCP measure", "Annual growth in rainfall, time t", "Annual growth in rainfall, time t-1", "Annual economic growth rate, time t", "Annual economic growth rate, time t-1", "Log(GDP per capita), 1979", "Democracy level (Polity IV score, -10 to 10), time t-1", "Democracy indicator (Polity IV score > 15),time t-1", "Ethnolinguistic fractionalization (source:Atlas Marodov Mira)", "Religious fractionalization (source: CIAFactbook)", "Oil-exporting country (source: WDI)", "Log(mountainous) (source: Fearon and Laitin 2003)", "Log(national population), time t-1 (source: WDI)", "Growth in terms of trade, time t (source:WDI)"] # unión de listas bajo la estructura diccionario dict( zip( table1.columns, new_names) )
{'any_prio': 'Civil conflict with ≥25 deaths: (PRIO/Uppsala)', 'any_prio_on': 'Onset', 'any_prio_off': 'Offset', 'war_prio': 'Civil conflict with ≥1,000 deaths:PRIO/Uppsala', 'war_prio_on': 'Onset', 'war_prio_off': 'Offset', 'war_col': 'Collier and Hoeffler (2002)', 'war_inc': 'Doyle and Sambanis (2000)', 'war': 'Fearon and Laitin (2003)', 'GPCP': 'Annual rainfall (mm), GPCP measure', 'GPCP_g': 'Annual growth in rainfall, time t', 'GPCP_g_l': 'Annual growth in rainfall, time t-1', 'gdp_g': 'Annual economic growth rate, time t', 'gdp_g_l': 'Annual economic growth rate, time t-1', 'y_0': 'Log(GDP per capita), 1979', 'polity2l': 'Democracy level (Polity IV score, -10 to 10), time t-1', 'polity2l_6': 'Democracy indicator (Polity IV score > 15),time t-1', 'ethfrac': 'Ethnolinguistic fractionalization (source:Atlas Marodov Mira)', 'relfrac': 'Religious fractionalization (source: CIAFactbook)', 'Oil': 'Oil-exporting country (source: WDI)', 'lmtnest': 'Log(mountainous) (source: Fearon and Laitin 2003)', 'lpopl1': 'Log(national population), time t-1 (source: WDI)', 'tot_100_g': 'Growth in terms of trade, time t (source:WDI)'}
# Customize summary table index_nuevos_nombres = dict( zip( table1.columns, new_names) ) columns_nuevos_nombres = { "mean": "Mean", "std": "Standard Deviation", "count": "Observations", } # Rename rows (indexes) and columns summary_table.rename(index=index_nuevos_nombres, columns=columns_nuevos_nombres, inplace=True)
summary_table
# Export the DataFrame to LaTeX # \ permite esccribir código extenso en lineas diferentes summary_table.style.format(subset="Mean", precision=2).format(subset="Standard Deviation", precision=2)\ .format(subset="Observations", precision=0)\ .to_latex( "summary2.tex", caption="Descriptive Statistics", column_format = "lccc" # l: left, c:center , )
#Columns format summary_table.style.format(subset="Mean", precision=2).format(subset="Standard Deviation", precision=2).format(subset="Observations", precision=0)

2.0 First stage

y = repdata['gdp_g'] # add constant X = sm.add_constant(repdata.loc[:,["GPCP_g", "GPCP_g_l"]]) X
# sm function ( homocedasdico) ols_model = sm.OLS(y, X).fit()
ols_model.summary().tables[0]
ols_model.summary().tables[1]
ols_model.summary().tables[2]
print(ols_model.summary())
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.024 Model: OLS Adj. R-squared: 0.021 Method: Least Squares F-statistic: 8.912 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.000150 Time: 21:03:20 Log-Likelihood: 923.53 No. Observations: 743 AIC: -1841. Df Residuals: 740 BIC: -1827. Df Model: 2 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0061 0.003 -2.375 0.018 -0.011 -0.001 GPCP_g 0.0554 0.013 4.126 0.000 0.029 0.082 GPCP_g_l 0.0341 0.014 2.502 0.013 0.007 0.061 ============================================================================== Omnibus: 233.849 Durbin-Watson: 1.912 Prob(Omnibus): 0.000 Jarque-Bera (JB): 8701.616 Skew: 0.693 Prob(JB): 0.00 Kurtosis: 19.708 Cond. No. 6.26 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
# Modulo con errores estandar robistasa por heterocedasticidad (HC1) # Robust standar error ols_model_rb = sm.OLS(y, X).fit(cov_type = "HC1") print(ols_model_rb.summary())
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.024 Model: OLS Adj. R-squared: 0.021 Method: Least Squares F-statistic: 8.703 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.000184 Time: 21:04:20 Log-Likelihood: 923.53 No. Observations: 743 AIC: -1841. Df Residuals: 740 BIC: -1827. Df Model: 2 Covariance Type: HC1 ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0061 0.003 -2.349 0.019 -0.011 -0.001 GPCP_g 0.0554 0.014 3.909 0.000 0.028 0.083 GPCP_g_l 0.0341 0.012 2.862 0.004 0.011 0.057 ============================================================================== Omnibus: 233.849 Durbin-Watson: 1.912 Prob(Omnibus): 0.000 Jarque-Bera (JB): 8701.616 Skew: 0.693 Prob(JB): 0.00 Kurtosis: 19.708 Cond. No. 6.26 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity robust (HC1)
#alternative robust standar error ols_model_rb0 = sm.OLS(y, X).fit(cov_type = "HC0") # White robust se ols_model_rb1 = sm.OLS(y, X).fit(cov_type = "HC1") # Huber-White robust se ols_model_rb2 = sm.OLS(y, X).fit(cov_type = "HC2") # Eicker-Huber-White robust ols_model_rb3 = sm.OLS(y, X).fit(cov_type = "HC3") print(ols_model_rb3.summary())
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.024 Model: OLS Adj. R-squared: 0.021 Method: Least Squares F-statistic: 8.425 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.000241 Time: 21:04:39 Log-Likelihood: 923.53 No. Observations: 743 AIC: -1841. Df Residuals: 740 BIC: -1827. Df Model: 2 Covariance Type: HC3 ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ const -0.0061 0.003 -2.345 0.019 -0.011 -0.001 GPCP_g 0.0554 0.014 3.826 0.000 0.027 0.084 GPCP_g_l 0.0341 0.012 2.845 0.004 0.011 0.058 ============================================================================== Omnibus: 233.849 Durbin-Watson: 1.912 Prob(Omnibus): 0.000 Jarque-Bera (JB): 8701.616 Skew: 0.693 Prob(JB): 0.00 Kurtosis: 19.708 Cond. No. 6.26 ============================================================================== Notes: [1] Standard Errors are heteroscedasticity robust (HC3)
# Acceder a la información de la tabla ols_model_rb.summary2() ols_model_rb.summary2().tables[1]
dir(ols_model_rb0) # Lista de atributos y métodos
['HC0_se', 'HC1_se', 'HC2_se', 'HC3_se', '_HCCM', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_abat_diagonal', '_cache', '_data_attr', '_data_in_cache', '_get_robustcov_results', '_is_nested', '_use_t', '_wexog_singular_values', 'aic', 'bic', 'bse', 'centered_tss', 'compare_f_test', 'compare_lm_test', 'compare_lr_test', 'condition_number', 'conf_int', 'conf_int_el', 'cov_HC0', 'cov_HC1', 'cov_HC2', 'cov_HC3', 'cov_kwds', 'cov_params', 'cov_params_default', 'cov_type', 'df_model', 'df_resid', 'eigenvals', 'el_test', 'ess', 'f_pvalue', 'f_test', 'fittedvalues', 'fvalue', 'get_influence', 'get_prediction', 'get_robustcov_results', 'het_scale', 'info_criteria', 'initialize', 'k_constant', 'llf', 'load', 'model', 'mse_model', 'mse_resid', 'mse_total', 'nobs', 'normalized_cov_params', 'outlier_test', 'params', 'predict', 'pvalues', 'remove_data', 'resid', 'resid_pearson', 'rsquared', 'rsquared_adj', 'save', 'scale', 'ssr', 'summary', 'summary2', 't_test', 't_test_pairwise', 'tvalues', 'uncentered_tss', 'use_t', 'wald_test', 'wald_test_terms', 'wresid']
# Y estimados a partir del método predict sm.OLS(y, X).fit().predict()
array([-1.42260619e-02, -2.30289275e-04, -2.75588850e-03, -3.99951658e-03, -5.11886194e-03, 5.20467567e-03, -4.52656919e-03, -1.47307556e-03, -7.57119488e-03, -7.20355307e-03, -1.54943854e-02, -2.62602686e-02, 1.09830081e-02, 1.89986099e-03, -1.11163789e-02, -1.02624190e-02, -1.20478876e-02, -1.21560929e-02, 8.62539879e-03, -1.06533385e-02, -5.08819333e-03, -1.09503776e-02, -2.79938414e-03, -8.80790188e-04, -5.48086194e-03, -1.19531737e-02, -6.60572684e-05, 6.06420773e-03, -1.40420956e-02, 8.71916478e-03, -3.72654491e-04, -1.26444387e-02, 2.99566205e-03, -8.61545720e-03, -1.12166543e-02, -7.62369658e-03, -1.53913776e-04, -3.99256394e-03, 2.67528245e-03, -2.05404714e-02, -1.24874715e-02, -1.54401360e-02, -4.92022890e-03, 5.35682032e-03, -1.36477944e-02, 3.22587198e-02, 1.40012843e-02, -2.94265140e-02, 2.63542414e-03, -2.05920036e-02, 1.88237806e-02, 1.47617514e-02, -3.84554192e-03, 6.28180087e-03, 2.60850052e-03, -1.69360674e-02, -1.87055303e-02, -1.06568119e-02, -7.07741836e-03, -1.36631634e-02, -4.14889783e-03, 7.49274206e-03, 1.54346014e-04, -1.08992067e-02, -1.72849631e-03, 2.96337488e-04, -1.61745252e-02, 5.86511435e-03, 5.61166534e-04, -1.23689918e-02, 3.07493121e-03, -7.92265843e-03, -1.04894856e-02, -4.60612243e-03, -2.11358517e-03, -9.57423686e-04, -6.67517856e-03, 1.22965597e-02, -9.00340678e-03, -1.61108075e-02, 3.75970514e-03, -4.84776579e-03, -8.65702038e-03, 2.85756615e-03, -8.43076781e-04, -1.30507235e-02, -1.30197991e-02, -1.18182142e-02, -1.78166372e-02, -8.21062419e-03, -3.35007781e-03, -5.39361637e-03, -1.69047244e-03, -1.21443488e-02, -1.29127100e-03, -9.21995510e-03, -3.72725102e-03, -1.41182274e-02, -5.69924520e-03, 3.15930321e-03, -8.60761702e-03, -1.24192487e-02, -1.19103700e-03, -6.23501950e-03, -3.26443945e-04, -5.25661583e-03, -7.96442323e-03, -2.33726718e-03, -5.95514755e-03, -7.56094159e-03, -6.03294466e-03, -6.28765586e-03, -1.14532270e-02, 9.73960635e-04, -3.75518207e-03, -2.78000498e-03, -1.14324183e-02, -1.51849292e-02, 1.95536376e-03, -1.26213163e-03, -6.89183247e-03, -1.44501683e-03, -1.92660463e-03, -5.05028616e-03, -6.01936021e-03, -1.03095716e-02, -1.04609789e-02, -3.35208639e-03, -4.27896960e-03, -6.27522988e-03, -1.08211859e-02, -2.07863448e-03, 1.11724000e-03, -7.17678580e-03, -1.61120840e-02, -1.49859598e-02, -2.18133690e-02, 4.73305972e-03, -3.31287357e-04, -1.44846804e-02, 1.70404320e-02, -6.85024883e-05, -2.91207516e-02, 5.22624222e-03, 1.26197785e-02, -1.44954687e-02, 2.17206136e-02, 4.59919030e-03, -1.43004965e-02, -1.37885515e-02, 1.57781556e-04, 6.04228433e-03, 2.54908691e-03, -2.62974788e-04, -1.41033213e-02, 1.29379983e-03, 5.83535629e-03, -1.36727166e-02, -9.96686833e-03, 2.94288908e-03, -5.67846033e-03, -1.06288033e-02, -1.68243736e-02, -5.96941943e-03, -2.13908408e-03, -4.83218835e-03, -3.09947388e-03, -8.10425424e-03, -1.47228334e-02, -1.98879909e-03, 3.57162958e-03, 1.58809971e-02, 2.83256349e-03, -1.43275965e-02, -2.54440144e-02, -1.06170217e-03, -4.50927106e-04, -9.92856075e-03, 4.23894484e-03, 7.00318523e-03, -2.08829275e-02, -2.61989789e-02, 3.61384886e-03, -2.72653059e-06, -1.55140989e-02, -2.24908439e-02, 1.76243207e-03, 6.99334902e-04, -2.66193317e-03, 1.03773183e-03, -3.20475878e-03, -1.26885541e-02, -1.60023507e-02, -4.28380475e-03, 9.80302036e-03, -2.88197478e-03, -1.21779479e-02, 1.19679471e-02, -1.85715122e-03, -1.97061607e-02, -9.69287403e-03, 5.50345984e-04, -9.24247081e-04, -1.55602563e-02, 6.14855098e-03, 5.46237698e-03, -1.08603421e-02, -1.10122700e-02, 8.59563331e-04, -6.00604517e-03, -1.34195019e-02, -1.61597176e-02, -5.02169528e-03, -3.03258617e-04, -5.44568922e-03, -5.94753301e-03, -5.92645876e-03, -1.28607249e-02, -1.53063874e-03, 6.01934927e-03, 1.73841910e-03, -3.48655103e-03, -2.26460704e-02, -5.36403460e-03, 5.02781144e-03, 1.16980119e-02, 3.66527777e-03, 2.73666585e-03, -5.97146967e-03, -2.23222043e-02, -1.29729127e-02, -2.12980138e-03, -1.44581580e-04, 6.08649575e-03, -1.04935756e-02, -1.12821355e-02, -9.16048916e-03, -8.33905363e-03, 5.97198362e-03, -1.31180799e-02, -1.51084550e-02, -1.82427247e-02, 1.11281442e-02, 1.17348989e-02, -1.01081093e-02, -4.48083013e-04, -7.68420585e-03, -2.72814548e-03, -1.12412996e-02, 4.05607628e-03, -1.27260421e-02, -1.10448204e-02, -9.22133270e-03, -8.85198257e-04, -4.97330829e-03, -6.61235599e-03, -1.57873136e-02, 9.77821165e-03, -1.69046261e-03, -8.81813992e-03, -2.20918651e-02, -1.18876084e-02, -9.79877798e-04, 6.31579977e-03, -6.20978481e-04, -2.80020849e-03, -1.61184737e-03, -7.62454882e-03, -3.80863698e-03, -4.43454224e-03, -1.06833632e-02, -5.70021534e-04, -1.08291646e-02, -1.52683884e-02, -1.16055006e-02, -4.70006423e-03, -7.59348563e-03, 1.64987809e-03, 9.48953393e-04, -1.72772638e-02, -8.01288037e-03, -1.76504781e-03, -2.48948682e-03, 7.08883698e-03, 6.21468017e-03, -3.45197345e-03, -1.86967163e-02, -3.87914630e-03, -4.37023695e-03, 3.53504031e-03, -5.57462483e-03, -9.81104501e-03, -5.21660842e-03, -7.04846888e-03, -1.08293373e-02, 3.50532083e-03, -1.17256446e-02, -7.05233182e-03, -1.90651509e-02, 6.11873837e-03, 6.18985841e-03, -9.86131349e-03, -2.97046499e-03, -8.51387871e-03, -3.15709320e-03, -1.05905013e-02, -5.90778712e-03, -9.29026958e-03, -8.06682967e-03, -2.65500585e-03, -2.95050392e-03, -1.06354450e-02, -1.25860144e-02, -7.54259739e-03, -1.36547816e-03, -6.31832384e-04, 2.17604455e-02, -1.62053681e-02, -1.85701079e-02, 3.22492623e-03, -6.09433889e-03, -1.81035172e-02, 1.13908325e-03, 3.14299470e-03, -7.49367936e-03, -2.02883697e-02, -1.02622516e-02, -1.01231583e-02, 3.19215280e-03, -2.90877311e-03, -1.66266233e-02, 3.85899594e-02, 9.24289601e-03, -3.03992586e-02, 7.02845610e-03, -1.01216456e-02, -8.56591473e-03, -5.64962285e-03, -1.61077169e-03, 2.44160439e-03, 4.98450290e-03, 5.11555436e-03, -1.00016412e-02, -2.40764493e-02, -1.95072273e-03, -1.51558233e-02, 8.28862423e-03, -2.39498356e-04, 1.20522594e-03, 1.29648454e-02, -7.04704587e-03, -1.06173698e-02, -1.40591527e-02, -6.83096490e-03, -6.95966986e-03, -2.06141581e-02, -9.88652457e-04, -1.72941088e-03, -4.18058625e-03, -1.22889722e-03, -4.77693130e-03, -1.40094490e-03, -1.59749333e-02, -1.44254240e-02, -1.79317188e-03, 2.17369383e-03, -9.97841430e-03, -5.96893564e-03, -1.24030268e-02, -4.35276473e-03, -9.79026645e-03, -7.58482481e-03, 6.66782731e-03, -1.53035770e-02, -7.87253930e-03, -5.05123922e-03, -3.82536065e-03, 2.36648171e-04, -2.62655977e-03, -8.74010860e-03, -9.50441417e-03, -5.60700870e-03, -1.47292167e-02, -2.15803513e-02, 2.56285019e-03, -6.33449743e-03, -1.71304395e-03, 4.88501284e-03, -8.08610285e-03, -2.52053645e-02, -3.50986954e-04, 1.97431287e-02, -1.77279014e-02, -5.63552649e-03, -1.72948728e-02, 4.13162268e-03, -4.04206119e-03, -5.64487408e-03, 3.88492198e-03, 6.03841996e-04, -1.90028909e-02, 1.42274439e-02, -8.47351282e-03, -1.76912670e-02, -1.66428240e-02, -9.00972802e-03, 4.80028656e-03, 3.38754405e-03, -1.32682670e-02, 7.81771200e-03, 1.16055702e-03, -2.07520859e-02, -7.04860625e-04, 2.56304768e-03, -1.02503025e-02, 1.64696236e-02, -4.20137202e-03, -1.88147846e-02, -1.04943236e-02, 5.58601417e-03, 7.32730406e-03, -4.17799413e-03, -2.09386424e-02, -2.16374364e-02, -2.55225812e-03, 4.62252942e-03, -1.57317509e-03, -1.63375316e-02, 6.88187592e-03, 1.34603930e-02, -2.66845714e-02, -1.92425191e-02, -8.99222964e-03, 1.47404705e-02, 2.95988898e-02, 3.30037844e-03, -2.44023279e-02, -1.64400960e-02, -1.43358938e-03, 1.49920075e-02, -3.90342143e-03, -7.76771363e-03, -1.34380004e-02, 2.74184333e-03, 5.72649358e-03, -7.93698922e-03, -2.55644419e-02, 5.90048848e-03, 1.22136226e-02, -1.84973818e-02, -1.18571420e-02, -1.89135480e-02, 2.37023225e-03, -6.19049821e-03, -4.85467002e-03, 1.12035206e-02, 6.25022356e-03, -1.63637582e-02, 4.27647180e-03, 3.27967470e-03, -3.28050503e-02, 6.81715510e-02, 3.53874170e-02, -2.98197642e-02, -6.97085087e-03, 3.05592054e-02, -1.51452170e-02, 5.60621696e-03, -1.71183996e-02, -1.55325247e-02, -1.55299751e-02, -1.83299202e-02, 5.43315439e-03, -2.67202304e-03, -2.82441747e-02, 2.05633867e-02, 9.78970771e-03, -2.96380027e-02, 1.26519555e-02, 9.92466648e-03, -1.43889179e-02, 3.82287721e-02, 4.38326948e-03, -2.15752652e-02, -1.08396475e-02, 1.36547966e-02, 7.57779790e-03, -1.37351113e-02, -8.98838485e-03, -1.37833701e-02, -7.34790213e-03, 1.34084157e-03, -3.66085784e-03, -1.04711068e-02, 2.91602420e-03, 1.38573675e-03, -7.82691417e-03, -4.70527922e-03, -6.40660080e-03, -7.54861668e-03, -4.77771702e-04, -2.12573039e-03, -8.72751086e-03, -6.94766452e-03, -1.00136272e-02, -1.97340435e-03, -7.30186705e-03, 1.07758275e-02, -9.31048881e-03, -1.27204888e-02, 4.27240192e-03, -9.58720241e-03, -4.93119629e-03, 9.02311267e-03, -5.87041244e-03, -1.23490522e-02, -1.45594832e-02, -1.48609002e-02, -1.09293754e-02, -2.31195649e-03, -1.86068297e-03, -4.58681056e-03, -6.93700471e-03, -1.19424851e-02, -5.73678666e-03, 1.36365244e-04, -3.60086205e-03, -2.30720684e-02, -5.60577973e-03, 6.69740750e-03, 8.61061378e-03, 1.37475850e-03, 3.59575035e-03, -3.80141723e-03, -2.41603295e-02, -1.42840476e-02, -2.83990257e-03, 1.29708417e-03, 5.33015464e-03, -8.77407446e-03, -1.12885691e-02, -1.14999933e-02, -7.29725215e-03, 7.16432103e-03, -2.26497163e-03, -6.11751062e-03, -1.87745007e-02, -1.23825634e-02, -3.60754178e-03, 6.24814446e-03, 1.25826668e-03, -9.73383607e-03, -4.27627980e-03, -8.74589634e-03, -6.15994803e-03, -1.26325265e-03, -7.16358415e-03, -8.59219726e-03, -1.03829239e-02, -1.40781306e-02, -1.73570039e-02, -9.02394459e-03, -1.13768564e-02, 2.75841322e-02, 3.59983817e-02, -2.79765778e-02, 1.47078470e-04, 1.47155516e-02, -3.12949593e-02, 2.55514413e-02, 1.63278639e-02, 5.93074809e-03, -3.96442262e-03, -2.76913056e-02, 7.29159954e-03, -1.25984320e-02, -1.59024301e-02, -9.34401377e-03, 5.93157286e-03, -5.29849637e-03, -9.46718228e-03, 9.35779090e-03, -3.55792979e-03, -2.29901957e-02, -1.08833556e-04, -1.45883263e-02, 4.67199113e-03, -5.91106432e-04, 6.32038366e-03, 1.08719188e-02, -9.71111338e-03, -1.66182666e-02, -1.34523272e-02, -5.22376994e-03, -1.49039445e-02, -1.50089028e-02, -1.96284407e-02, 1.19765065e-02, 8.34686438e-03, -4.16980028e-03, 6.90586171e-03, -2.64421829e-03, -2.22460367e-02, -7.53438792e-03, 1.88984029e-03, -1.11659316e-03, -2.42305572e-03, -3.88998012e-03, 5.81948292e-03, -1.26787318e-02, -1.98195828e-02, 8.70472373e-03, -2.09478019e-02, -6.99773735e-04, 2.65819900e-02, -1.03676287e-02, -2.90986242e-02, 1.68771319e-03, 2.65301955e-03, -6.35742428e-03, -1.75490051e-02, -1.44093628e-02, -2.45339692e-02, 2.29957717e-02, 6.53496651e-03, 5.34828188e-03, 1.43952120e-02, -4.39635117e-03, -1.89490426e-02, -7.22528689e-03, -1.89405585e-02, 9.50228090e-03, -4.21855405e-03, -6.56804870e-03, -1.43757088e-03, -1.01589254e-02, -1.50883801e-02, -4.76854070e-03, 7.01199938e-03, -1.04522406e-02, -1.49345407e-02, -1.05202153e-02, -1.61487646e-02, -8.28348575e-03, 1.50593232e-03, -8.79934750e-03, 2.20046139e-03, -9.52134326e-03, -6.01675996e-03, -1.37945605e-02, -1.57628782e-02, -1.49851147e-02, 1.00176444e-02, 7.03252322e-03, -1.26938941e-02, -4.33922901e-03, 1.98323641e-03, -3.78380292e-03, -1.48747157e-02, 5.04798847e-03, -1.34340355e-02, -8.21133085e-03, -1.64016520e-03, 7.45177037e-04, -7.15212585e-03, -7.02656001e-03, -1.46557307e-02, 2.59348268e-03, -1.94071280e-03, 1.18725814e-02, -1.12849045e-02, -2.24840814e-02, 1.00906915e-02, -5.72501575e-06, -9.65300800e-03, 1.08807395e-02, -4.98639528e-03, -9.82102397e-03, -5.70268034e-03, -1.25384764e-02, -1.59688608e-02, -5.02792965e-03, -4.91961858e-03, -1.03581146e-03, -2.91031860e-03, -1.81010558e-02, -1.57855619e-03, -7.83325057e-03, 4.37204113e-03, -9.65619368e-03, -1.12951269e-02, 3.67054296e-03, -5.42788718e-03, -5.60909252e-03, 4.28637403e-03, 4.33022563e-04, -1.01810547e-02, -1.49081915e-02, -1.84403491e-02, -8.53992557e-03, -5.18407142e-03, -5.15239482e-03, -6.42232116e-03, -1.34845975e-02, -9.87432435e-03, -1.36360033e-02, -3.10918019e-03, -8.93115278e-03, -6.20838086e-03, -6.06438496e-04, 1.06434634e-04, -1.78417895e-02, -4.04993177e-03, 8.71392763e-03, -1.10041918e-02, -1.04860128e-02, -2.14002789e-02, 8.51106607e-03, -6.00000719e-03, -1.53739473e-02, -6.15688176e-05, -6.53196518e-04, -1.38822168e-02, -2.12538772e-03, 9.45214661e-03, -1.96796845e-02, -1.84952370e-02, 4.23052064e-04, 1.86352412e-02, 1.76219979e-03, -2.50058849e-02, 6.09310530e-03, 2.28960597e-03, -1.28338366e-02, -1.72040172e-02, -2.11838033e-02, 1.82486458e-02, -5.09921947e-03, -1.35486605e-02, 2.44079097e-02, 1.38069329e-02, -1.46947040e-02, -7.09399897e-03])
# predict para ello uso la función predict ols_model.predict(X) # acceso a los parámetros print(ols_model.params) # R2 y R2 ajustado print(ols_model.rsquared) print(ols_model.rsquared_adj)
const -0.006147 GPCP_g 0.055430 GPCP_g_l 0.034058 dtype: float64 0.023519416089785694 0.02088027937651482
control_formula = "gdp_g ~ GPCP_g + GPCP_g_l" ols_model = smf.ols(control_formula, data=repdata).fit() print(ols_model.summary())
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.024 Model: OLS Adj. R-squared: 0.021 Method: Least Squares F-statistic: 8.912 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.000150 Time: 21:09:23 Log-Likelihood: 923.53 No. Observations: 743 AIC: -1841. Df Residuals: 740 BIC: -1827. Df Model: 2 Covariance Type: nonrobust ============================================================================== coef std err t P>|t| [0.025 0.975] ------------------------------------------------------------------------------ Intercept -0.0061 0.003 -2.375 0.018 -0.011 -0.001 GPCP_g 0.0554 0.013 4.126 0.000 0.029 0.082 GPCP_g_l 0.0341 0.014 2.502 0.013 0.007 0.061 ============================================================================== Omnibus: 233.849 Durbin-Watson: 1.912 Prob(Omnibus): 0.000 Jarque-Bera (JB): 8701.616 Skew: 0.693 Prob(JB): 0.00 Kurtosis: 19.708 Cond. No. 6.26 ============================================================================== Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified.

Using sklearn (modelos ML lineales)

Link

ols_model_skl = linear_model.LinearRegression().fit( X, y ) ols_model_skl.coef_ # acceso a coeficientes ols_model_skl.predict(X) # predict en formato array ols_model_skl.score(X,y) # R cuadrado
0.023519415945896127
dir(ols_model_skl)
['__abstractmethods__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_abc_impl', '_check_feature_names', '_check_n_features', '_decision_function', '_estimator_type', '_get_param_names', '_get_tags', '_more_tags', '_preprocess_data', '_repr_html_', '_repr_html_inner', '_repr_mimebundle_', '_residues', '_set_intercept', '_validate_data', 'coef_', 'copy_X', 'feature_names_in_', 'fit', 'fit_intercept', 'get_params', 'intercept_', 'n_features_in_', 'n_jobs', 'normalize', 'positive', 'predict', 'rank_', 'score', 'set_params', 'singular_']
mean_squared_error( y, ols_model.predict())**0.5 # root mean square error
0.06981466645337808

Modelo1

  • OLS, sin efectos fijos o country-time trend

  • Robust errores estandar (Huber robust)

  • Los residuos estan clusterizados (agrupados) a nivel país

  • Using cluster and robust standar error

formula_model1 = "gdp_g ~ GPCP_g + GPCP_g_l" ols_model1 = smf.ols(formula_model1, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) # cov_type='cluster', cov_kwds={'groups': repdata['ccode']}: cluster and robust standar error (HC1) print(ols_model1.summary())
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.024 Model: OLS Adj. R-squared: 0.021 Method: Least Squares F-statistic: 6.672 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.00316 Time: 21:15:19 Log-Likelihood: 923.53 No. Observations: 743 AIC: -1841. Df Residuals: 740 BIC: -1827. Df Model: 2 Covariance Type: cluster ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ Intercept -0.0061 0.002 -2.499 0.012 -0.011 -0.001 GPCP_g 0.0554 0.016 3.400 0.001 0.023 0.087 GPCP_g_l 0.0341 0.013 2.578 0.010 0.008 0.060 ============================================================================== Omnibus: 233.849 Durbin-Watson: 1.912 Prob(Omnibus): 0.000 Jarque-Bera (JB): 8701.616 Skew: 0.693 Prob(JB): 0.00 Kurtosis: 19.708 Cond. No. 6.26 ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster)
ols_model1.summary().tables[1]
ols_model1.rsquared # R2 square rmse_ol1 = round(mean_squared_error( y, ols_model1.predict())**0.5,2) # Root mean square error y redondeo a dos decimales print(rmse_ol1)
0.07

Model2 OLS:

  • No efectos fijos (country), Si country-time trends

  • errores estandar robustas (Huber-White robust)

  • termino de perturbación están clusterizados (agrupados) a nivel país

  • Se añade variables de control

# Control variables control_vars = ["y_0", "polity2l", "ethfrac", "relfrac", "Oil", "lmtnest","lpopl1"] # country fixed effect index_columns = np.where( repdata.columns.str.contains( '_time$'))[0] # indice con nombre de variables que terminan con _time country_trend = repdata.columns[index_columns] # se extrae el nombre de todas las variables que terminan con _time country_trend
Index(['ccode_404_time', 'ccode_420_time', 'ccode_432_time', 'ccode_433_time', 'ccode_434_time', 'ccode_435_time', 'ccode_436_time', 'ccode_437_time', 'ccode_438_time', 'ccode_439_time', 'ccode_450_time', 'ccode_451_time', 'ccode_452_time', 'ccode_461_time', 'ccode_471_time', 'ccode_475_time', 'ccode_481_time', 'ccode_482_time', 'ccode_483_time', 'ccode_484_time', 'ccode_490_time', 'ccode_500_time', 'ccode_501_time', 'ccode_510_time', 'ccode_516_time', 'ccode_517_time', 'ccode_520_time', 'ccode_522_time', 'ccode_530_time', 'ccode_540_time', 'ccode_541_time', 'ccode_551_time', 'ccode_552_time', 'ccode_553_time', 'ccode_560_time', 'ccode_565_time', 'ccode_570_time', 'ccode_571_time', 'ccode_572_time', 'ccode_580_time', 'ccode_625_time'], dtype='object')
' + '.join( control_vars )
'y_0 + polity2l + ethfrac + relfrac + Oil + lmtnest + lpopl1'
formula_model2
'gdp_g ~ GPCP_g + GPCP_g_l + y_0 + polity2l + ethfrac + relfrac + Oil + lmtnest + lpopl1 + ccode_404_time + ccode_420_time + ccode_432_time + ccode_433_time + ccode_434_time + ccode_435_time + ccode_436_time + ccode_437_time + ccode_438_time + ccode_439_time + ccode_450_time + ccode_451_time + ccode_452_time + ccode_461_time + ccode_471_time + ccode_475_time + ccode_481_time + ccode_482_time + ccode_483_time + ccode_484_time + ccode_490_time + ccode_500_time + ccode_501_time + ccode_510_time + ccode_516_time + ccode_517_time + ccode_520_time + ccode_522_time + ccode_530_time + ccode_540_time + ccode_541_time + ccode_551_time + ccode_552_time + ccode_553_time + ccode_560_time + ccode_565_time + ccode_570_time + ccode_571_time + ccode_572_time + ccode_580_time + ccode_625_time'
' + '.join( country_trend )
'ccode_404_time + ccode_420_time + ccode_432_time + ccode_433_time + ccode_434_time + ccode_435_time + ccode_436_time + ccode_437_time + ccode_438_time + ccode_439_time + ccode_450_time + ccode_451_time + ccode_452_time + ccode_461_time + ccode_471_time + ccode_475_time + ccode_481_time + ccode_482_time + ccode_483_time + ccode_484_time + ccode_490_time + ccode_500_time + ccode_501_time + ccode_510_time + ccode_516_time + ccode_517_time + ccode_520_time + ccode_522_time + ccode_530_time + ccode_540_time + ccode_541_time + ccode_551_time + ccode_552_time + ccode_553_time + ccode_560_time + ccode_565_time + ccode_570_time + ccode_571_time + ccode_572_time + ccode_580_time + ccode_625_time'
formula_model2 = "gdp_g ~ GPCP_g + GPCP_g_l + " + ' + '.join( control_vars ) + ' + ' + ' + '.join( country_trend ) formula_model2
'gdp_g ~ GPCP_g + GPCP_g_l + y_0 + polity2l + ethfrac + relfrac + Oil + lmtnest + lpopl1 + ccode_404_time + ccode_420_time + ccode_432_time + ccode_433_time + ccode_434_time + ccode_435_time + ccode_436_time + ccode_437_time + ccode_438_time + ccode_439_time + ccode_450_time + ccode_451_time + ccode_452_time + ccode_461_time + ccode_471_time + ccode_475_time + ccode_481_time + ccode_482_time + ccode_483_time + ccode_484_time + ccode_490_time + ccode_500_time + ccode_501_time + ccode_510_time + ccode_516_time + ccode_517_time + ccode_520_time + ccode_522_time + ccode_530_time + ccode_540_time + ccode_541_time + ccode_551_time + ccode_552_time + ccode_553_time + ccode_560_time + ccode_565_time + ccode_570_time + ccode_571_time + ccode_572_time + ccode_580_time + ccode_625_time'
ols_model2 = smf.ols(formula_model2, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) print(ols_model2.summary()) rmse_ol2 = round(mean_squared_error( y, ols_model2.predict())**0.5,2) print( rmse_ol2 )
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.081 Model: OLS Adj. R-squared: 0.014 Method: Least Squares F-statistic: 1.858 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.0812 Time: 21:21:21 Log-Likelihood: 945.89 No. Observations: 743 AIC: -1790. Df Residuals: 692 BIC: -1555. Df Model: 50 Covariance Type: cluster ================================================================================== coef std err z P>|z| [0.025 0.975] ---------------------------------------------------------------------------------- Intercept 0.0439 0.064 0.684 0.494 -0.082 0.170 GPCP_g 0.0530 0.017 3.154 0.002 0.020 0.086 GPCP_g_l 0.0320 0.014 2.371 0.018 0.006 0.058 y_0 -0.0109 0.007 -1.572 0.116 -0.024 0.003 polity2l 2.834e-05 0.001 0.041 0.967 -0.001 0.001 ethfrac 0.0057 0.044 0.130 0.896 -0.080 0.092 relfrac 0.0454 0.044 1.027 0.305 -0.041 0.132 Oil 0.0067 0.019 0.354 0.723 -0.030 0.044 lmtnest 0.0008 0.005 0.152 0.879 -0.010 0.011 lpopl1 -0.0087 0.009 -1.002 0.316 -0.026 0.008 ccode_404_time -0.0012 0.002 -0.780 0.435 -0.004 0.002 ccode_420_time 0.0007 0.001 0.492 0.622 -0.002 0.003 ccode_432_time 0.0022 0.001 2.272 0.023 0.000 0.004 ccode_433_time 0.0027 0.001 2.717 0.007 0.001 0.005 ccode_434_time 0.0015 0.001 1.844 0.065 -9.32e-05 0.003 ccode_435_time 0.0025 0.001 1.840 0.066 -0.000 0.005 ccode_436_time -0.0002 0.001 -0.249 0.803 -0.002 0.001 ccode_437_time 0.0013 0.001 1.415 0.157 -0.001 0.003 ccode_438_time 0.0022 0.001 2.586 0.010 0.001 0.004 ccode_439_time 0.0014 0.001 1.450 0.147 -0.000 0.003 ccode_450_time -0.0024 0.002 -1.269 0.205 -0.006 0.001 ccode_451_time -0.0027 0.001 -3.856 0.000 -0.004 -0.001 ccode_452_time 0.0021 0.001 1.624 0.104 -0.000 0.005 ccode_461_time -5.373e-05 0.001 -0.071 0.943 -0.002 0.001 ccode_471_time -0.0003 0.001 -0.360 0.719 -0.002 0.001 ccode_475_time 0.0013 0.002 0.736 0.461 -0.002 0.005 ccode_481_time 0.0022 0.001 1.447 0.148 -0.001 0.005 ccode_482_time -0.0009 0.001 -0.656 0.512 -0.004 0.002 ccode_483_time -0.0004 0.001 -0.400 0.690 -0.002 0.002 ccode_484_time -0.0009 0.001 -0.612 0.541 -0.004 0.002 ccode_490_time -0.0029 0.001 -2.694 0.007 -0.005 -0.001 ccode_500_time 0.0022 0.001 2.037 0.042 8.15e-05 0.004 ccode_501_time 0.0011 0.001 0.977 0.329 -0.001 0.003 ccode_510_time 0.0016 0.001 1.442 0.149 -0.001 0.004 ccode_516_time -0.0008 0.001 -0.539 0.590 -0.004 0.002 ccode_517_time 0.0010 0.001 0.813 0.416 -0.001 0.004 ccode_520_time 0.0020 0.003 0.681 0.496 -0.004 0.008 ccode_522_time 0.0031 0.003 1.055 0.291 -0.003 0.009 ccode_530_time 0.0021 0.001 1.598 0.110 -0.000 0.005 ccode_540_time -0.0008 0.001 -0.686 0.493 -0.003 0.001 ccode_541_time 0.0028 0.001 2.858 0.004 0.001 0.005 ccode_551_time -0.0002 0.001 -0.298 0.766 -0.002 0.001 ccode_552_time 0.0017 0.001 2.075 0.038 9.22e-05 0.003 ccode_553_time 0.0010 0.001 1.273 0.203 -0.001 0.003 ccode_560_time 0.0035 0.002 1.606 0.108 -0.001 0.008 ccode_565_time 0.0012 0.001 0.866 0.387 -0.001 0.004 ccode_570_time 0.0011 0.001 0.930 0.352 -0.001 0.004 ccode_571_time 0.0019 0.001 1.736 0.082 -0.000 0.004 ccode_572_time 0.0014 0.001 1.384 0.167 -0.001 0.003 ccode_580_time 0.0003 0.002 0.141 0.888 -0.003 0.004 ccode_625_time 0.0037 0.001 4.060 0.000 0.002 0.006 ============================================================================== Omnibus: 247.374 Durbin-Watson: 2.024 Prob(Omnibus): 0.000 Jarque-Bera (JB): 10770.483 Skew: 0.731 Prob(JB): 0.00 Kurtosis: 21.595 Cond. No. 206. ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) 0.07

Model3 OLS:

  • Si efectos fijos (country), Si country-time trends

  • errores estandar robustas (Huber-White robust)

  • termino de perturbación están clusterizados (agrupados) a nivel país

  • No se añade variables de control

formula_model3 = "gdp_g ~ GPCP_g + GPCP_g_l + C(ccode)" + ' + ' + ' + '.join( country_trend ) ols_model3 = smf.ols(formula_model3, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) print(ols_model3.summary()) rmse_ol3 = round(mean_squared_error( y, ols_model3.predict())**0.5,2) print(rmse_ol3)
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.133 Model: OLS Adj. R-squared: 0.023 Method: Least Squares F-statistic: 5.068 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.0109 Time: 21:22:19 Log-Likelihood: 967.51 No. Observations: 743 AIC: -1767. Df Residuals: 659 BIC: -1380. Df Model: 83 Covariance Type: cluster ===================================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------------- Intercept 0.0965 0.001 86.980 0.000 0.094 0.099 C(ccode)[T.420.0] -0.1525 0.000 -480.138 0.000 -0.153 -0.152 C(ccode)[T.432.0] -0.1066 0.002 -42.862 0.000 -0.111 -0.102 C(ccode)[T.433.0] -0.1047 0.000 -228.140 0.000 -0.106 -0.104 C(ccode)[T.434.0] -0.1272 0.001 -106.481 0.000 -0.130 -0.125 C(ccode)[T.435.0] -0.1102 0.003 -39.321 0.000 -0.116 -0.105 C(ccode)[T.436.0] -0.1437 0.004 -35.068 0.000 -0.152 -0.136 C(ccode)[T.437.0] -0.1537 0.001 -129.514 0.000 -0.156 -0.151 C(ccode)[T.438.0] -0.1261 0.001 -160.897 0.000 -0.128 -0.125 C(ccode)[T.439.0] -0.0844 0.001 -68.315 0.000 -0.087 -0.082 C(ccode)[T.450.0] -0.0835 0.001 -77.885 0.000 -0.086 -0.081 C(ccode)[T.451.0] -0.1006 0.001 -190.454 0.000 -0.102 -0.100 C(ccode)[T.452.0] -0.1395 0.001 -98.223 0.000 -0.142 -0.137 C(ccode)[T.461.0] -0.1336 0.001 -92.061 0.000 -0.136 -0.131 C(ccode)[T.471.0] -0.0751 0.001 -56.680 0.000 -0.078 -0.072 C(ccode)[T.475.0] -0.1548 0.002 -91.728 0.000 -0.158 -0.151 C(ccode)[T.481.0] -0.1368 0.001 -200.313 0.000 -0.138 -0.135 C(ccode)[T.482.0] -0.1398 0.001 -132.444 0.000 -0.142 -0.138 C(ccode)[T.483.0] -0.1489 0.003 -53.566 0.000 -0.154 -0.143 C(ccode)[T.484.0] -0.0206 0.001 -33.011 0.000 -0.022 -0.019 C(ccode)[T.490.0] -0.0935 0.000 -365.560 0.000 -0.094 -0.093 C(ccode)[T.500.0] -0.0104 0.001 -19.352 0.000 -0.011 -0.009 C(ccode)[T.501.0] -0.1085 0.001 -76.955 0.000 -0.111 -0.106 C(ccode)[T.510.0] -0.0879 0.001 -74.868 0.000 -0.090 -0.086 C(ccode)[T.516.0] -0.0569 0.000 -299.987 0.000 -0.057 -0.057 C(ccode)[T.517.0] -0.1095 0.000 -483.917 0.000 -0.110 -0.109 C(ccode)[T.520.0] -0.0470 0.008 -5.930 0.000 -0.063 -0.031 C(ccode)[T.522.0] -0.2196 0.003 -73.280 0.000 -0.225 -0.214 C(ccode)[T.530.0] -0.1110 0.001 -187.649 0.000 -0.112 -0.110 C(ccode)[T.540.0] -0.1011 0.001 -153.832 0.000 -0.102 -0.100 C(ccode)[T.541.0] -0.1603 0.002 -102.611 0.000 -0.163 -0.157 C(ccode)[T.551.0] -0.1342 0.001 -97.286 0.000 -0.137 -0.132 C(ccode)[T.552.0] -0.0973 0.001 -98.247 0.000 -0.099 -0.095 C(ccode)[T.553.0] -0.1232 0.002 -63.924 0.000 -0.127 -0.119 C(ccode)[T.560.0] -0.1074 0.001 -177.877 0.000 -0.109 -0.106 C(ccode)[T.565.0] -0.1747 0.008 -20.655 0.000 -0.191 -0.158 C(ccode)[T.570.0] -0.1037 0.001 -153.239 0.000 -0.105 -0.102 C(ccode)[T.571.0] -0.0716 0.001 -95.275 0.000 -0.073 -0.070 C(ccode)[T.572.0] -0.1280 0.000 -450.485 0.000 -0.129 -0.127 C(ccode)[T.580.0] -0.1690 0.000 -363.402 0.000 -0.170 -0.168 C(ccode)[T.625.0] -0.1409 0.001 -156.419 0.000 -0.143 -0.139 GPCP_g 0.0486 0.017 2.855 0.004 0.015 0.082 GPCP_g_l 0.0280 0.014 1.973 0.048 0.000 0.056 ccode_404_time -0.0074 4.44e-05 -166.539 0.000 -0.007 -0.007 ccode_420_time 0.0035 3.56e-05 99.133 0.000 0.003 0.004 ccode_432_time 0.0010 0.000 6.121 0.000 0.001 0.001 ccode_433_time 0.0008 1.76e-05 47.513 0.000 0.001 0.001 ccode_434_time 0.0024 4.39e-05 55.678 0.000 0.002 0.003 ccode_435_time 0.0013 0.000 6.678 0.000 0.001 0.002 ccode_436_time 0.0016 0.000 4.713 0.000 0.001 0.002 ccode_437_time 0.0031 1.52e-06 2038.602 0.000 0.003 0.003 ccode_438_time 0.0026 4.17e-05 63.220 0.000 0.003 0.003 ccode_439_time -0.0001 4.91e-05 -2.569 0.010 -0.000 -2.99e-05 ccode_450_time -0.0038 6.68e-05 -57.419 0.000 -0.004 -0.004 ccode_451_time -0.0032 0.000 -30.275 0.000 -0.003 -0.003 ccode_452_time 0.0041 5.77e-05 70.405 0.000 0.004 0.004 ccode_461_time 0.0018 4.67e-05 38.667 0.000 0.002 0.002 ccode_471_time -0.0025 3.85e-05 -63.712 0.000 -0.003 -0.002 ccode_475_time 0.0031 5.91e-05 51.868 0.000 0.003 0.003 ccode_481_time 0.0023 5.51e-05 41.739 0.000 0.002 0.002 ccode_482_time 0.0026 1.83e-05 140.861 0.000 0.003 0.003 ccode_483_time 0.0030 0.000 15.334 0.000 0.003 0.003 ccode_484_time -0.0067 7.02e-05 -95.536 0.000 -0.007 -0.007 ccode_490_time -0.0043 0.000 -32.651 0.000 -0.005 -0.004 ccode_500_time -0.0043 0.000 -38.282 0.000 -0.005 -0.004 ccode_501_time 0.0009 9.23e-05 9.733 0.000 0.001 0.001 ccode_510_time 6.611e-05 9.48e-06 6.976 0.000 4.75e-05 8.47e-05 ccode_516_time -0.0041 7.9e-05 -51.573 0.000 -0.004 -0.004 ccode_517_time 0.0010 9.06e-05 11.104 0.000 0.001 0.001 ccode_520_time -0.0077 0.001 -9.577 0.000 -0.009 -0.006 ccode_522_time 0.0148 0.001 29.368 0.000 0.014 0.016 ccode_530_time 0.0018 2.43e-05 73.205 0.000 0.002 0.002 ccode_540_time -0.0006 3.98e-05 -15.800 0.000 -0.001 -0.001 ccode_541_time 0.0059 9.14e-05 64.312 0.000 0.006 0.006 ccode_551_time 0.0011 2.01e-05 52.890 0.000 0.001 0.001 ccode_552_time 0.0002 6.5e-05 3.458 0.001 9.74e-05 0.000 ccode_553_time 0.0023 0.000 18.432 0.000 0.002 0.003 ccode_560_time 0.0004 2.5e-05 14.568 0.000 0.000 0.000 ccode_565_time 0.0038 0.000 9.965 0.000 0.003 0.005 ccode_570_time 0.0008 6.16e-05 12.600 0.000 0.001 0.001 ccode_571_time -0.0006 4.84e-05 -11.904 0.000 -0.001 -0.000 ccode_572_time 0.0020 1.79e-05 111.219 0.000 0.002 0.002 ccode_580_time 0.0039 5.96e-05 64.955 0.000 0.004 0.004 ccode_625_time 0.0050 1.18e-05 421.931 0.000 0.005 0.005 ============================================================================== Omnibus: 195.294 Durbin-Watson: 2.090 Prob(Omnibus): 0.000 Jarque-Bera (JB): 9523.985 Skew: 0.250 Prob(JB): 0.00 Kurtosis: 20.533 Cond. No. 226. ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) 0.07

Model4 OLS:

  • Si efectos fijos (country), Si country-time trends

  • Se inclue a la tasa de variación de las lluvias del año siguiente (GPCP_g_fl)

  • errores estandar robustas (Huber-White robust)

  • termino de perturbación están clusterizados (agrupados) a nivel país

formula_model4 = "gdp_g ~ GPCP_g + GPCP_g_l + GPCP_g_fl + C(ccode)" + ' + ' + ' + '.join( country_trend ) ols_model4 = smf.ols(formula_model4, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) print(ols_model4.summary()) rmse_ol4 = round(mean_squared_error( y, ols_model4.predict())**0.5,2) print(rmse_ol4)
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.133 Model: OLS Adj. R-squared: 0.022 Method: Least Squares F-statistic: 3.233 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.0322 Time: 21:23:19 Log-Likelihood: 967.52 No. Observations: 743 AIC: -1765. Df Residuals: 658 BIC: -1373. Df Model: 84 Covariance Type: cluster ===================================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------------- Intercept 0.0964 0.001 78.876 0.000 0.094 0.099 C(ccode)[T.420.0] -0.1525 0.000 -399.614 0.000 -0.153 -0.152 C(ccode)[T.432.0] -0.1065 0.003 -38.819 0.000 -0.112 -0.101 C(ccode)[T.433.0] -0.1047 0.001 -169.028 0.000 -0.106 -0.103 C(ccode)[T.434.0] -0.1272 0.001 -105.899 0.000 -0.130 -0.125 C(ccode)[T.435.0] -0.1101 0.004 -30.074 0.000 -0.117 -0.103 C(ccode)[T.436.0] -0.1436 0.004 -33.045 0.000 -0.152 -0.135 C(ccode)[T.437.0] -0.1537 0.001 -128.202 0.000 -0.156 -0.151 C(ccode)[T.438.0] -0.1261 0.001 -127.741 0.000 -0.128 -0.124 C(ccode)[T.439.0] -0.0844 0.001 -69.785 0.000 -0.087 -0.082 C(ccode)[T.450.0] -0.0835 0.001 -56.099 0.000 -0.086 -0.081 C(ccode)[T.451.0] -0.1005 0.001 -130.300 0.000 -0.102 -0.099 C(ccode)[T.452.0] -0.1395 0.001 -95.258 0.000 -0.142 -0.137 C(ccode)[T.461.0] -0.1335 0.001 -94.901 0.000 -0.136 -0.131 C(ccode)[T.471.0] -0.0750 0.001 -52.673 0.000 -0.078 -0.072 C(ccode)[T.475.0] -0.1547 0.002 -91.650 0.000 -0.158 -0.151 C(ccode)[T.481.0] -0.1368 0.001 -174.329 0.000 -0.138 -0.135 C(ccode)[T.482.0] -0.1398 0.001 -134.118 0.000 -0.142 -0.138 C(ccode)[T.483.0] -0.1488 0.003 -48.590 0.000 -0.155 -0.143 C(ccode)[T.484.0] -0.0206 0.001 -30.609 0.000 -0.022 -0.019 C(ccode)[T.490.0] -0.0935 0.001 -120.720 0.000 -0.095 -0.092 C(ccode)[T.500.0] -0.0104 0.002 -6.877 0.000 -0.013 -0.007 C(ccode)[T.501.0] -0.1085 0.002 -71.837 0.000 -0.111 -0.106 C(ccode)[T.510.0] -0.0879 0.001 -65.974 0.000 -0.091 -0.085 C(ccode)[T.516.0] -0.0569 0.001 -85.504 0.000 -0.058 -0.056 C(ccode)[T.517.0] -0.1095 0.001 -103.824 0.000 -0.112 -0.107 C(ccode)[T.520.0] -0.0472 0.010 -4.970 0.000 -0.066 -0.029 C(ccode)[T.522.0] -0.2195 0.003 -71.058 0.000 -0.226 -0.213 C(ccode)[T.530.0] -0.1110 0.001 -194.472 0.000 -0.112 -0.110 C(ccode)[T.540.0] -0.1011 0.001 -136.796 0.000 -0.103 -0.100 C(ccode)[T.541.0] -0.1602 0.002 -76.186 0.000 -0.164 -0.156 C(ccode)[T.551.0] -0.1342 0.002 -80.663 0.000 -0.137 -0.131 C(ccode)[T.552.0] -0.0972 0.003 -34.163 0.000 -0.103 -0.092 C(ccode)[T.553.0] -0.1232 0.002 -65.486 0.000 -0.127 -0.120 C(ccode)[T.560.0] -0.1073 0.002 -58.421 0.000 -0.111 -0.104 C(ccode)[T.565.0] -0.1750 0.010 -17.197 0.000 -0.195 -0.155 C(ccode)[T.570.0] -0.1036 0.001 -114.887 0.000 -0.105 -0.102 C(ccode)[T.571.0] -0.0715 0.003 -27.242 0.000 -0.077 -0.066 C(ccode)[T.572.0] -0.1279 0.001 -88.618 0.000 -0.131 -0.125 C(ccode)[T.580.0] -0.1690 0.001 -333.248 0.000 -0.170 -0.168 C(ccode)[T.625.0] -0.1409 0.001 -109.362 0.000 -0.143 -0.138 GPCP_g 0.0489 0.018 2.664 0.008 0.013 0.085 GPCP_g_l 0.0282 0.014 1.989 0.047 0.000 0.056 GPCP_g_fl 0.0006 0.019 0.032 0.974 -0.037 0.038 ccode_404_time -0.0074 4.31e-05 -171.697 0.000 -0.007 -0.007 ccode_420_time 0.0035 3.87e-05 91.056 0.000 0.003 0.004 ccode_432_time 0.0010 0.000 5.223 0.000 0.001 0.001 ccode_433_time 0.0008 3.64e-05 22.944 0.000 0.001 0.001 ccode_434_time 0.0024 6.2e-05 39.414 0.000 0.002 0.003 ccode_435_time 0.0013 0.000 4.574 0.000 0.001 0.002 ccode_436_time 0.0016 0.000 4.176 0.000 0.001 0.002 ccode_437_time 0.0031 1.62e-05 190.838 0.000 0.003 0.003 ccode_438_time 0.0026 4.2e-05 62.798 0.000 0.003 0.003 ccode_439_time -0.0001 5.51e-05 -2.280 0.023 -0.000 -1.76e-05 ccode_450_time -0.0038 7.18e-05 -53.404 0.000 -0.004 -0.004 ccode_451_time -0.0032 0.000 -29.158 0.000 -0.003 -0.003 ccode_452_time 0.0041 6.31e-05 64.374 0.000 0.004 0.004 ccode_461_time 0.0018 4.78e-05 37.822 0.000 0.002 0.002 ccode_471_time -0.0025 4.33e-05 -56.778 0.000 -0.003 -0.002 ccode_475_time 0.0031 5.77e-05 53.081 0.000 0.003 0.003 ccode_481_time 0.0023 5.89e-05 39.057 0.000 0.002 0.002 ccode_482_time 0.0026 2.87e-05 89.568 0.000 0.003 0.003 ccode_483_time 0.0030 0.000 13.279 0.000 0.003 0.003 ccode_484_time -0.0067 6.83e-05 -98.166 0.000 -0.007 -0.007 ccode_490_time -0.0043 0.000 -25.062 0.000 -0.005 -0.004 ccode_500_time -0.0043 0.000 -22.408 0.000 -0.005 -0.004 ccode_501_time 0.0009 0.000 6.945 0.000 0.001 0.001 ccode_510_time 6.997e-05 0.000 0.597 0.550 -0.000 0.000 ccode_516_time -0.0041 0.000 -30.991 0.000 -0.004 -0.004 ccode_517_time 0.0010 0.000 6.302 0.000 0.001 0.001 ccode_520_time -0.0076 0.001 -8.086 0.000 -0.009 -0.006 ccode_522_time 0.0148 0.000 30.255 0.000 0.014 0.016 ccode_530_time 0.0018 5.84e-05 30.435 0.000 0.002 0.002 ccode_540_time -0.0006 6.36e-05 -9.857 0.000 -0.001 -0.001 ccode_541_time 0.0059 0.000 36.856 0.000 0.006 0.006 ccode_551_time 0.0011 6.56e-05 16.223 0.000 0.001 0.001 ccode_552_time 0.0002 0.000 0.762 0.446 -0.000 0.001 ccode_553_time 0.0023 0.000 17.388 0.000 0.002 0.003 ccode_560_time 0.0004 0.000 2.526 0.012 8.05e-05 0.001 ccode_565_time 0.0038 0.000 9.914 0.000 0.003 0.005 ccode_570_time 0.0008 9.19e-05 8.424 0.000 0.001 0.001 ccode_571_time -0.0006 0.000 -1.896 0.058 -0.001 1.97e-05 ccode_572_time 0.0020 0.000 13.133 0.000 0.002 0.002 ccode_580_time 0.0039 6.58e-05 58.849 0.000 0.004 0.004 ccode_625_time 0.0050 7.69e-05 64.557 0.000 0.005 0.005 ============================================================================== Omnibus: 195.159 Durbin-Watson: 2.090 Prob(Omnibus): 0.000 Jarque-Bera (JB): 9519.029 Skew: 0.248 Prob(JB): 0.00 Kurtosis: 20.528 Cond. No. 226. ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) 0.07

Model5 OLS:

  • Si efectos fijos (country), Si country-time trends

  • Se inclue a la tasa de variación de los términos de intercambio (tot_100_g)

  • errores estandar robustas (Huber-White robust)

  • termino de perturbación están clusterizados (agrupados) a nivel país

# Dado que estamos clusterizando los terminos de perturbación, debemos borrar los missing presenten en algunas de nuestras variables # En este caso tot_100_g presente missings. Por ello, primero borramos los missings de esa columna. repdata_na = repdata.dropna(subset = 'tot_100_g')
formula_model5 = "gdp_g ~ GPCP_g + GPCP_g_l + tot_100_g + C(ccode)" + ' + ' + ' + '.join( country_trend ) ols_model5 = smf.ols(formula_model5, data=repdata_na).fit(cov_type='cluster', cov_kwds={'groups': repdata_na['ccode']}) print(ols_model5.summary()) y_na = repdata_na['gdp_g'] # nuevo vector de la variable Y rmse_ol5 = round(mean_squared_error( y_na, ols_model5.predict())**0.5,2) print(rmse_ol5)
OLS Regression Results ============================================================================== Dep. Variable: gdp_g R-squared: 0.162 Model: OLS Adj. R-squared: 0.053 Method: Least Squares F-statistic: 66.02 Date: Fri, 18 Nov 2022 Prob (F-statistic): 1.05e-14 Time: 21:23:19 Log-Likelihood: 926.36 No. Observations: 661 AIC: -1699. Df Residuals: 584 BIC: -1353. Df Model: 76 Covariance Type: cluster ===================================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------------- Intercept 0.0962 0.003 29.022 0.000 0.090 0.103 C(ccode)[T.420.0] -0.1529 0.006 -26.638 0.000 -0.164 -0.142 C(ccode)[T.432.0] -0.1056 0.004 -28.179 0.000 -0.113 -0.098 C(ccode)[T.433.0] -0.1047 0.003 -37.676 0.000 -0.110 -0.099 C(ccode)[T.434.0] -0.1267 0.003 -47.862 0.000 -0.132 -0.122 C(ccode)[T.435.0] -0.1091 0.004 -27.298 0.000 -0.117 -0.101 C(ccode)[T.436.0] -0.1418 0.005 -26.959 0.000 -0.152 -0.132 C(ccode)[T.437.0] -0.1533 0.003 -45.243 0.000 -0.160 -0.147 C(ccode)[T.438.0] -0.1080 0.005 -20.399 0.000 -0.118 -0.098 C(ccode)[T.439.0] -0.0838 0.002 -55.188 0.000 -0.087 -0.081 C(ccode)[T.451.0] -0.1006 0.003 -32.434 0.000 -0.107 -0.095 C(ccode)[T.452.0] -0.1394 0.005 -25.508 0.000 -0.150 -0.129 C(ccode)[T.461.0] -0.1331 0.003 -39.318 0.000 -0.140 -0.126 C(ccode)[T.471.0] -0.0746 0.002 -38.045 0.000 -0.078 -0.071 C(ccode)[T.475.0] -0.1545 0.006 -24.798 0.000 -0.167 -0.142 C(ccode)[T.481.0] -0.1372 0.004 -30.854 0.000 -0.146 -0.128 C(ccode)[T.482.0] -0.1398 0.002 -82.664 0.000 -0.143 -0.136 C(ccode)[T.483.0] -0.1550 0.004 -39.012 0.000 -0.163 -0.147 C(ccode)[T.484.0] -0.0209 0.002 -9.134 0.000 -0.025 -0.016 C(ccode)[T.490.0] -0.0788 0.002 -38.976 0.000 -0.083 -0.075 C(ccode)[T.500.0] -0.2384 0.001 -182.497 0.000 -0.241 -0.236 C(ccode)[T.501.0] -0.1081 0.004 -26.102 0.000 -0.116 -0.100 C(ccode)[T.510.0] -0.1117 0.003 -38.935 0.000 -0.117 -0.106 C(ccode)[T.516.0] -0.0571 0.003 -19.004 0.000 -0.063 -0.051 C(ccode)[T.517.0] -0.1052 0.002 -44.903 0.000 -0.110 -0.101 C(ccode)[T.530.0] -0.1111 0.004 -30.340 0.000 -0.118 -0.104 C(ccode)[T.540.0] -0.1612 0.002 -73.637 0.000 -0.166 -0.157 C(ccode)[T.541.0] -0.1600 0.004 -43.615 0.000 -0.167 -0.153 C(ccode)[T.551.0] -0.1336 0.002 -66.637 0.000 -0.138 -0.130 C(ccode)[T.552.0] -0.0971 0.003 -35.565 0.000 -0.102 -0.092 C(ccode)[T.553.0] -0.1228 0.004 -31.253 0.000 -0.130 -0.115 C(ccode)[T.560.0] -0.1074 0.004 -27.693 0.000 -0.115 -0.100 C(ccode)[T.565.0] -0.1806 0.012 -15.205 0.000 -0.204 -0.157 C(ccode)[T.570.0] -0.1036 0.004 -29.134 0.000 -0.111 -0.097 C(ccode)[T.571.0] -0.0638 0.001 -45.533 0.000 -0.067 -0.061 C(ccode)[T.572.0] -0.1281 0.002 -52.989 0.000 -0.133 -0.123 C(ccode)[T.580.0] -0.1689 0.002 -75.257 0.000 -0.173 -0.165 GPCP_g 0.0531 0.018 2.948 0.003 0.018 0.088 GPCP_g_l 0.0366 0.015 2.408 0.016 0.007 0.066 tot_100_g -0.0023 0.023 -0.099 0.921 -0.047 0.043 ccode_404_time -0.0074 0.000 -31.268 0.000 -0.008 -0.007 ccode_420_time 0.0036 0.000 20.835 0.000 0.003 0.004 ccode_432_time 0.0009 0.000 5.515 0.000 0.001 0.001 ccode_433_time 0.0008 2.75e-05 30.658 0.000 0.001 0.001 ccode_434_time 0.0024 6.5e-05 37.106 0.000 0.002 0.003 ccode_435_time 0.0012 0.000 6.210 0.000 0.001 0.002 ccode_436_time 0.0014 0.000 4.187 0.000 0.001 0.002 ccode_437_time 0.0031 6.68e-06 463.112 0.000 0.003 0.003 ccode_438_time 0.0015 0.000 6.833 0.000 0.001 0.002 ccode_439_time -0.0002 0.000 -1.279 0.201 -0.000 8.8e-05 ccode_450_time 3.368e-16 1.02e-29 3.3e+13 0.000 3.37e-16 3.37e-16 ccode_451_time -0.0032 0.000 -27.934 0.000 -0.003 -0.003 ccode_452_time 0.0041 0.000 27.269 0.000 0.004 0.004 ccode_461_time 0.0018 4.92e-05 36.484 0.000 0.002 0.002 ccode_471_time -0.0025 0.000 -22.084 0.000 -0.003 -0.002 ccode_475_time 0.0031 0.000 15.621 0.000 0.003 0.003 ccode_481_time 0.0023 6.41e-05 36.379 0.000 0.002 0.002 ccode_482_time 0.0026 0.000 12.464 0.000 0.002 0.003 ccode_483_time 0.0037 0.000 20.718 0.000 0.003 0.004 ccode_484_time -0.0067 0.000 -49.866 0.000 -0.007 -0.006 ccode_490_time -0.0060 0.000 -34.412 0.000 -0.006 -0.006 ccode_500_time 0.0105 0.000 38.977 0.000 0.010 0.011 ccode_501_time 0.0009 0.000 6.163 0.000 0.001 0.001 ccode_510_time 0.0012 0.000 6.626 0.000 0.001 0.002 ccode_516_time -0.0040 8.12e-05 -49.687 0.000 -0.004 -0.004 ccode_517_time 0.0006 0.000 3.583 0.000 0.000 0.001 ccode_520_time 2.781e-16 6.2e-30 4.48e+13 0.000 2.78e-16 2.78e-16 ccode_522_time 1.574e-16 2.44e-30 6.44e+13 0.000 1.57e-16 1.57e-16 ccode_530_time 0.0018 7.4e-05 24.262 0.000 0.002 0.002 ccode_540_time 0.0032 0.000 10.757 0.000 0.003 0.004 ccode_541_time 0.0059 0.000 49.427 0.000 0.006 0.006 ccode_551_time 0.0010 0.000 5.625 0.000 0.001 0.001 ccode_552_time 0.0002 6.79e-05 2.876 0.004 6.22e-05 0.000 ccode_553_time 0.0023 0.000 17.314 0.000 0.002 0.003 ccode_560_time 0.0004 5.28e-05 6.996 0.000 0.000 0.000 ccode_565_time 0.0041 0.000 8.218 0.000 0.003 0.005 ccode_570_time 0.0008 6.65e-05 11.436 0.000 0.001 0.001 ccode_571_time -0.0011 0.000 -4.194 0.000 -0.002 -0.001 ccode_572_time 0.0020 8e-05 24.840 0.000 0.002 0.002 ccode_580_time 0.0039 0.000 38.424 0.000 0.004 0.004 ccode_625_time 0 0 nan nan 0 0 ============================================================================== Omnibus: 154.729 Durbin-Watson: 2.172 Prob(Omnibus): 0.000 Jarque-Bera (JB): 2123.959 Skew: -0.623 Prob(JB): 0.00 Kurtosis: 11.693 Cond. No. 5.76e+16 ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) [2] The smallest eigenvalue is 1.16e-30. This might indicate that there are strong multicollinearity problems or that the design matrix is singular. 0.06

3.0 Export regression table

# Lista de explicativa a mostrarse en la tabla explicativas = ['GPCP_g','GPCP_g_l','GPCP_g_fl','tot_100_g','y_0', 'polity2l', 'ethfrac', 'relfrac', 'Oil', 'lmtnest','lpopl1'] # etiquetas a las variables etiquetas = ['Growth in rainfall, t','Growth in rainfall, t-1','Growth in rainfall, t+1','Growth in terms of trade, t', 'Log(GDP per capita), 1979', 'Democracy (Polity IV), t-1', 'Ethnolinguistic fractionalization', 'Religious fractionalization', 'Oil-exporting country', 'Log(mountainous)','Log(national population), t-1'] labels = dict(zip(explicativas,etiquetas)) labels
{'GPCP_g': 'Growth in rainfall, t', 'GPCP_g_l': 'Growth in rainfall, t-1', 'GPCP_g_fl': 'Growth in rainfall, t+1', 'tot_100_g': 'Growth in terms of trade, t', 'y_0': 'Log(GDP per capita), 1979', 'polity2l': 'Democracy (Polity IV), t-1', 'ethfrac': 'Ethnolinguistic fractionalization', 'relfrac': 'Religious fractionalization', 'Oil': 'Oil-exporting country', 'lmtnest': 'Log(mountainous)', 'lpopl1': 'Log(national population), t-1'}
pystout(models = [ols_model1,ols_model2,ols_model3,ols_model4,ols_model5], file='regression_table.tex', digits=3, endog_names=['(1)','(2)','(3)','(4)','(5)'], exogvars =explicativas , # sellecionamos las variables varlabels = labels, # etiquetas a las variables mgroups={'Ordinary Least Squares':[1,5]}, # titulo a las regresiones modstat={'nobs':'Observarions','rsquared':'R\sym{2}'}, # estadísticos addrows={'Country fixed effects':['no','no','yes','yes','yes'], 'Country-specific time trends' : ['no','yes','yes','yes','yes'], 'Root mean square error': [rmse_ol1,rmse_ol2,rmse_ol3,rmse_ol4,rmse_ol5]}, # añadimos filas addnotes=['Note.—Huber robust standard errors are in parentheses.', 'Regression disturbance terms are clustered at the country level.', 'A country-specific year time trend is included in all specifications (coefficient estimates not reported).', '* Significantly different from zero at 90 percent confidence.', '** Significantly different from zero at 95 percent confidence.', '*** Significantly different from zero at 99 percent confidence.'], title='Rainfall and Economic Growth (First-Stage)', stars={.1:'*',.05:'**',.01:'***'} ) # Las tables en latex se guardan en el archivo regression_table # endog_names: nombre de las variables endógenas. En este caso solo son numerales # exogvars: selecciona las variables explicativas

3.0 TABLE 4: Economic Growth and Civil Conflict

Modelo 1

  • Se añade una modelo logit

  • Se añade variables de control

  • No efectos fijos por país

  • No trime- trend effects por país

formula_logit = "any_prio ~ gdp_g + gdp_g_l + time_year + " + ' + '.join( control_vars ) logit_me = smf.logit(formula_logit, repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']})\ .get_margeff(at = "mean", method = "dydx") logit_me.summary().tables[1]
Optimization terminated successfully. Current function value: 0.512248 Iterations 6
# probit formula_probit = "any_prio ~ gdp_g + gdp_g_l + time_year + " + ' + '.join( control_vars ) probit_me = smf.probit(formula_probit, repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']})\ .get_margeff(at = "mean", method = "dydx") probit_me.summary().tables[1]
Optimization terminated successfully. Current function value: 0.509985 Iterations 6

Modelo 2 OLS

  • variables de control

  • No efectos fijos o trend-time

formula_ols2= "any_prio ~ gdp_g + gdp_g_l + time_year + " + ' + '.join( control_vars ) ols_model2 = smf.ols(formula_ols2, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) print(ols_model2.summary()) y = repdata['any_prio'] # nuevo vector de la variable Y (any prio) rmse_ol2 = round(mean_squared_error( y, ols_model2.predict())**0.5,2) print(rmse_ol2)
OLS Regression Results ============================================================================== Dep. Variable: any_prio R-squared: 0.126 Model: OLS Adj. R-squared: 0.114 Method: Least Squares F-statistic: 2.967 Date: Fri, 18 Nov 2022 Prob (F-statistic): 0.00693 Time: 20:15:05 Log-Likelihood: -399.18 No. Observations: 743 AIC: 820.4 Df Residuals: 732 BIC: 871.1 Df Model: 10 Covariance Type: cluster ============================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------ Intercept -0.4696 0.340 -1.383 0.167 -1.135 0.196 gdp_g -0.3327 0.263 -1.263 0.207 -0.849 0.184 gdp_g_l -0.0850 0.241 -0.353 0.724 -0.557 0.387 time_year 0.0025 0.006 0.390 0.696 -0.010 0.015 y_0 -0.0407 0.050 -0.815 0.415 -0.138 0.057 polity2l 0.0006 0.005 0.142 0.887 -0.008 0.009 ethfrac 0.2304 0.271 0.849 0.396 -0.301 0.762 relfrac -0.2378 0.242 -0.984 0.325 -0.711 0.236 Oil 0.0453 0.212 0.214 0.830 -0.369 0.460 lmtnest 0.0758 0.039 1.926 0.054 -0.001 0.153 lpopl1 0.0681 0.051 1.332 0.183 -0.032 0.168 ============================================================================== Omnibus: 133.367 Durbin-Watson: 0.585 Prob(Omnibus): 0.000 Jarque-Bera (JB): 94.915 Skew: 0.766 Prob(JB): 2.45e-21 Kurtosis: 2.153 Cond. No. 227. ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) 0.41

Modelo 3 OLS

  • variables de control

  • Si efectos fijos trend-time

formula_ols3= "any_prio ~ gdp_g + gdp_g_l + " + ' + '.join( control_vars ) + ' + ' + ' + '.join( country_trend ) ols_model3 = smf.ols(formula_ols3, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) print(ols_model3.summary()) rmse_ol3 = round(mean_squared_error( y, ols_model3.predict())**0.5,2) print(rmse_ol3)
OLS Regression Results ============================================================================== Dep. Variable: any_prio R-squared: 0.530 Model: OLS Adj. R-squared: 0.496 Method: Least Squares F-statistic: 7.264 Date: Fri, 18 Nov 2022 Prob (F-statistic): 2.08e-06 Time: 20:15:05 Log-Likelihood: -168.64 No. Observations: 743 AIC: 439.3 Df Residuals: 692 BIC: 674.4 Df Model: 50 Covariance Type: cluster ================================================================================== coef std err z P>|z| [0.025 0.975] ---------------------------------------------------------------------------------- Intercept -1.8759 0.636 -2.950 0.003 -3.122 -0.629 gdp_g -0.2085 0.198 -1.052 0.293 -0.597 0.180 gdp_g_l 0.0093 0.196 0.048 0.962 -0.375 0.394 y_0 0.0852 0.084 1.015 0.310 -0.079 0.250 polity2l 0.0032 0.006 0.530 0.596 -0.009 0.015 ethfrac 0.5143 0.402 1.280 0.201 -0.273 1.302 relfrac 0.0985 0.415 0.237 0.813 -0.716 0.913 Oil -0.1582 0.204 -0.774 0.439 -0.559 0.242 lmtnest 0.0567 0.060 0.953 0.341 -0.060 0.173 lpopl1 0.1819 0.086 2.108 0.035 0.013 0.351 ccode_404_time 0.0199 0.012 1.695 0.090 -0.003 0.043 ccode_420_time 0.0107 0.011 0.967 0.334 -0.011 0.033 ccode_432_time -0.0097 0.012 -0.813 0.416 -0.033 0.014 ccode_433_time 0.0199 0.013 1.505 0.132 -0.006 0.046 ccode_434_time -0.0088 0.009 -1.009 0.313 -0.026 0.008 ccode_435_time 0.0176 0.016 1.093 0.274 -0.014 0.049 ccode_436_time 0.0077 0.009 0.898 0.369 -0.009 0.025 ccode_437_time -0.0358 0.014 -2.557 0.011 -0.063 -0.008 ccode_438_time -0.0046 0.009 -0.503 0.615 -0.023 0.013 ccode_439_time -0.0042 0.010 -0.412 0.681 -0.024 0.016 ccode_450_time 0.0314 0.015 2.149 0.032 0.003 0.060 ccode_451_time 0.0295 0.006 4.551 0.000 0.017 0.042 ccode_452_time -0.0237 0.013 -1.775 0.076 -0.050 0.002 ccode_461_time 0.0011 0.007 0.156 0.876 -0.012 0.014 ccode_471_time -0.0342 0.012 -2.778 0.005 -0.058 -0.010 ccode_475_time -0.0511 0.022 -2.308 0.021 -0.094 -0.008 ccode_481_time -0.0024 0.014 -0.167 0.867 -0.031 0.026 ccode_482_time -0.0118 0.012 -1.027 0.305 -0.034 0.011 ccode_483_time 0.0337 0.010 3.355 0.001 0.014 0.053 ccode_484_time 0.0244 0.013 1.887 0.059 -0.001 0.050 ccode_490_time -0.0091 0.013 -0.693 0.488 -0.035 0.017 ccode_500_time 0.0191 0.012 1.634 0.102 -0.004 0.042 ccode_501_time -0.0478 0.013 -3.728 0.000 -0.073 -0.023 ccode_510_time -0.0497 0.013 -3.737 0.000 -0.076 -0.024 ccode_516_time 0.0375 0.013 2.850 0.004 0.012 0.063 ccode_517_time 0.0359 0.012 3.112 0.002 0.013 0.058 ccode_520_time 0.1104 0.032 3.468 0.001 0.048 0.173 ccode_522_time 0.0402 0.025 1.613 0.107 -0.009 0.089 ccode_530_time -0.0032 0.014 -0.230 0.818 -0.031 0.024 ccode_540_time 0.0492 0.016 3.084 0.002 0.018 0.080 ccode_541_time 0.0014 0.011 0.135 0.892 -0.019 0.022 ccode_551_time -0.0221 0.008 -2.658 0.008 -0.038 -0.006 ccode_552_time -0.0078 0.009 -0.824 0.410 -0.026 0.011 ccode_553_time -0.0223 0.008 -2.940 0.003 -0.037 -0.007 ccode_560_time -0.0312 0.024 -1.311 0.190 -0.078 0.015 ccode_565_time 0.0019 0.013 0.146 0.884 -0.023 0.027 ccode_570_time 0.0085 0.013 0.663 0.508 -0.017 0.034 ccode_571_time 0.0060 0.010 0.613 0.540 -0.013 0.025 ccode_572_time 0.0008 0.011 0.072 0.943 -0.021 0.022 ccode_580_time -0.0149 0.016 -0.949 0.343 -0.046 0.016 ccode_625_time 0.0298 0.012 2.497 0.013 0.006 0.053 ============================================================================== Omnibus: 36.378 Durbin-Watson: 1.023 Prob(Omnibus): 0.000 Jarque-Bera (JB): 49.837 Skew: 0.435 Prob(JB): 1.51e-11 Kurtosis: 3.923 Cond. No. 206. ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) 0.3

Modelo 4 OLS

  • No variables de control

  • Si efectos fijos por país y trend-time

formula_ols4 = "any_prio ~ gdp_g + gdp_g_l + C(ccode)" + ' + ' + ' + '.join( country_trend ) ols_model4 = smf.ols(formula_ols4, data=repdata).fit(cov_type='cluster', cov_kwds={'groups': repdata['ccode']}) print(ols_model4.summary()) rmse_ol4 = round(mean_squared_error( y, ols_model4.predict())**0.5,2) print(rmse_ol4)
OLS Regression Results ============================================================================== Dep. Variable: any_prio R-squared: 0.707 Model: OLS Adj. R-squared: 0.670 Method: Least Squares F-statistic: 17.17 Date: Fri, 18 Nov 2022 Prob (F-statistic): 4.13e-06 Time: 20:15:05 Log-Likelihood: 6.6457 No. Observations: 743 AIC: 154.7 Df Residuals: 659 BIC: 542.0 Df Model: 83 Covariance Type: cluster ===================================================================================== coef std err z P>|z| [0.025 0.975] ------------------------------------------------------------------------------------- Intercept -0.2361 0.021 -11.067 0.000 -0.278 -0.194 C(ccode)[T.420.0] 0.4702 0.034 13.907 0.000 0.404 0.536 C(ccode)[T.432.0] 0.2555 0.025 10.038 0.000 0.206 0.305 C(ccode)[T.433.0] -0.1117 0.024 -4.748 0.000 -0.158 -0.066 C(ccode)[T.434.0] 0.2306 0.027 8.496 0.000 0.177 0.284 C(ccode)[T.435.0] 0.2342 0.027 8.554 0.000 0.181 0.288 C(ccode)[T.436.0] 0.1223 0.034 3.548 0.000 0.055 0.190 C(ccode)[T.437.0] 0.2305 0.041 5.671 0.000 0.151 0.310 C(ccode)[T.438.0] -0.0219 0.026 -0.830 0.407 -0.073 0.030 C(ccode)[T.439.0] 0.4380 0.019 23.582 0.000 0.402 0.474 C(ccode)[T.450.0] -0.3586 0.024 -14.890 0.000 -0.406 -0.311 C(ccode)[T.451.0] -0.2372 0.023 -10.458 0.000 -0.282 -0.193 C(ccode)[T.452.0] 0.6714 0.032 21.294 0.000 0.610 0.733 C(ccode)[T.461.0] 0.3975 0.028 14.080 0.000 0.342 0.453 C(ccode)[T.471.0] 0.4158 0.013 31.109 0.000 0.390 0.442 C(ccode)[T.475.0] 0.2266 0.035 6.510 0.000 0.158 0.295 C(ccode)[T.481.0] 0.2313 0.032 7.155 0.000 0.168 0.295 C(ccode)[T.482.0] 0.2301 0.033 7.065 0.000 0.166 0.294 C(ccode)[T.483.0] 1.3554 0.038 35.576 0.000 1.281 1.430 C(ccode)[T.484.0] -0.1014 0.006 -18.056 0.000 -0.112 -0.090 C(ccode)[T.490.0] 1.3303 0.018 72.399 0.000 1.294 1.366 C(ccode)[T.500.0] 1.2508 0.001 881.134 0.000 1.248 1.254 C(ccode)[T.501.0] 0.4562 0.025 18.484 0.000 0.408 0.505 C(ccode)[T.510.0] 0.2390 0.022 10.782 0.000 0.196 0.282 C(ccode)[T.516.0] -0.1364 0.011 -12.051 0.000 -0.159 -0.114 C(ccode)[T.517.0] -0.1350 0.022 -6.252 0.000 -0.177 -0.093 C(ccode)[T.520.0] 1.2545 0.018 69.386 0.000 1.219 1.290 C(ccode)[T.522.0] -0.0528 0.049 -1.078 0.281 -0.149 0.043 C(ccode)[T.530.0] 1.3180 0.024 55.589 0.000 1.272 1.365 C(ccode)[T.540.0] 1.2350 0.021 58.268 0.000 1.193 1.277 C(ccode)[T.541.0] 1.7445 0.041 42.128 0.000 1.663 1.826 C(ccode)[T.551.0] 0.2295 0.029 7.853 0.000 0.172 0.287 C(ccode)[T.552.0] -0.0165 0.022 -0.763 0.446 -0.059 0.026 C(ccode)[T.553.0] 0.2318 0.028 8.137 0.000 0.176 0.288 C(ccode)[T.560.0] 1.7393 0.022 78.105 0.000 1.696 1.783 C(ccode)[T.565.0] -1.5339 0.033 -46.215 0.000 -1.599 -1.469 C(ccode)[T.570.0] 0.1198 0.022 5.452 0.000 0.077 0.163 C(ccode)[T.571.0] 0.2382 0.013 18.661 0.000 0.213 0.263 C(ccode)[T.572.0] 0.2326 0.030 7.796 0.000 0.174 0.291 C(ccode)[T.580.0] 0.2253 0.038 5.959 0.000 0.151 0.299 C(ccode)[T.625.0] 0.7387 0.032 23.178 0.000 0.676 0.801 gdp_g -0.2109 0.161 -1.312 0.189 -0.526 0.104 gdp_g_l 0.0668 0.164 0.408 0.683 -0.254 0.388 ccode_404_time 0.0286 0.002 17.002 0.000 0.025 0.032 ccode_420_time -0.0152 0.001 -19.859 0.000 -0.017 -0.014 ccode_432_time 0.0072 0.000 18.787 0.000 0.006 0.008 ccode_433_time 0.0597 0.000 257.873 0.000 0.059 0.060 ccode_434_time 0.0004 0.000 0.898 0.369 -0.001 0.001 ccode_435_time 0.0002 0.001 0.399 0.690 -0.001 0.001 ccode_436_time 0.0355 0.001 60.008 0.000 0.034 0.037 ccode_437_time 0.0003 0.001 0.254 0.799 -0.002 0.002 ccode_438_time 0.0303 0.000 62.069 0.000 0.029 0.031 ccode_439_time -0.0035 5.76e-06 -608.617 0.000 -0.004 -0.003 ccode_450_time 0.1081 0.001 163.993 0.000 0.107 0.109 ccode_451_time 0.0784 0.001 100.911 0.000 0.077 0.080 ccode_452_time -0.0274 0.001 -27.761 0.000 -0.029 -0.025 ccode_461_time -0.0049 0.000 -14.974 0.000 -0.006 -0.004 ccode_471_time -0.0107 0.001 -11.517 0.000 -0.013 -0.009 ccode_475_time 0.0005 0.001 0.754 0.451 -0.001 0.002 ccode_481_time 0.0002 0.001 0.329 0.742 -0.001 0.002 ccode_482_time 0.0004 0.001 0.567 0.571 -0.001 0.002 ccode_483_time -0.0189 0.001 -17.264 0.000 -0.021 -0.017 ccode_484_time 0.0412 0.002 22.177 0.000 0.038 0.045 ccode_490_time -0.0377 0.001 -28.516 0.000 -0.040 -0.035 ccode_500_time -0.0095 0.001 -9.662 0.000 -0.011 -0.008 ccode_501_time -0.0139 0.000 -47.025 0.000 -0.015 -0.013 ccode_510_time -9.766e-05 0.000 -0.375 0.707 -0.001 0.000 ccode_516_time 0.0660 0.001 64.061 0.000 0.064 0.068 ccode_517_time 0.0704 0.000 443.107 0.000 0.070 0.071 ccode_520_time -0.0022 0.002 -1.430 0.153 -0.005 0.001 ccode_522_time 0.0474 0.003 14.321 0.000 0.041 0.054 ccode_530_time -0.0243 0.000 -68.897 0.000 -0.025 -0.024 ccode_540_time -5.51e-05 0.000 -0.204 0.839 -0.001 0.000 ccode_541_time -0.0729 0.002 -41.350 0.000 -0.076 -0.069 ccode_551_time 0.0002 0.000 1.361 0.174 -0.000 0.001 ccode_552_time 0.0299 0.000 215.556 0.000 0.030 0.030 ccode_553_time 0.0004 0.001 0.614 0.539 -0.001 0.002 ccode_560_time -0.0683 8.53e-05 -800.777 0.000 -0.068 -0.068 ccode_565_time 0.1172 0.001 178.503 0.000 0.116 0.118 ccode_570_time 0.0141 0.000 95.008 0.000 0.014 0.014 ccode_571_time 4.871e-05 0.000 0.134 0.893 -0.001 0.001 ccode_572_time 0.0002 0.001 0.405 0.686 -0.001 0.001 ccode_580_time 0.0006 0.001 0.731 0.464 -0.001 0.002 ccode_625_time 0.0338 0.001 27.979 0.000 0.031 0.036 ============================================================================== Omnibus: 94.065 Durbin-Watson: 1.489 Prob(Omnibus): 0.000 Jarque-Bera (JB): 423.246 Skew: 0.482 Prob(JB): 1.24e-92 Kurtosis: 6.569 Cond. No. 228. ============================================================================== Notes: [1] Standard Errors are robust to cluster correlation (cluster) 0.24

Modelo 5 IV-2SLS

  • si variables de control

  • Si trend-time effects

formula_model5 = "any_prio ~ 1 + [gdp_g + gdp_g_l ~ GPCP_g + GPCP_g_l] + " + ' + '.join( control_vars ) + ' + ' + ' + '.join( country_trend ) iv_model_1 = IV2SLS.from_formula(formula_model5, repdata).fit(cov_type='clustered', clusters = repdata['ccode'], debiased=True) print(iv_model_1) rmse_iv_1 = round(mean_squared_error( y, iv_model_1.predict())**0.5,2) print(rmse_iv_1)
IV-2SLS Estimation Summary ============================================================================== Dep. Variable: any_prio R-squared: 0.4012 Estimator: IV-2SLS Adj. R-squared: 0.3579 No. Observations: 743 F-statistic: 4.223e+14 Date: Fri, Nov 18 2022 P-value (F-stat) 0.0000 Time: 20:15:05 Distribution: F(50,692) Cov. Estimator: clustered Parameter Estimates ================================================================================== Parameter Std. Err. T-stat P-value Lower CI Upper CI ---------------------------------------------------------------------------------- Intercept -1.7449 0.6840 -2.5510 0.0110 -3.0878 -0.4019 Oil -0.1039 0.2185 -0.4757 0.6345 -0.5329 0.3250 ccode_404_time 0.0161 0.0122 1.3241 0.1859 -0.0078 0.0400 ccode_420_time 0.0120 0.0105 1.1349 0.2568 -0.0087 0.0326 ccode_432_time -0.0041 0.0143 -0.2875 0.7738 -0.0322 0.0240 ccode_433_time 0.0269 0.0161 1.6697 0.0954 -0.0047 0.0585 ccode_434_time -0.0052 0.0102 -0.5112 0.6094 -0.0253 0.0149 ccode_435_time 0.0243 0.0186 1.3083 0.1912 -0.0122 0.0608 ccode_436_time 0.0087 0.0089 0.9716 0.3316 -0.0089 0.0262 ccode_437_time -0.0321 0.0158 -2.0366 0.0421 -0.0631 -0.0012 ccode_438_time 0.0009 0.0113 0.0823 0.9344 -0.0213 0.0231 ccode_439_time -0.0006 0.0112 -0.0529 0.9578 -0.0225 0.0213 ccode_450_time 0.0272 0.0156 1.7412 0.0821 -0.0035 0.0579 ccode_451_time 0.0237 0.0078 3.0229 0.0026 0.0083 0.0391 ccode_452_time -0.0185 0.0146 -1.2710 0.2041 -0.0471 0.0101 ccode_461_time 0.0013 0.0067 0.1893 0.8499 -0.0119 0.0145 ccode_471_time -0.0358 0.0127 -2.8229 0.0049 -0.0608 -0.0109 ccode_475_time -0.0496 0.0240 -2.0704 0.0388 -0.0967 -0.0026 ccode_481_time 0.0033 0.0168 0.1980 0.8431 -0.0296 0.0363 ccode_482_time -0.0149 0.0117 -1.2698 0.2046 -0.0379 0.0081 ccode_483_time 0.0334 0.0099 3.3618 0.0008 0.0139 0.0529 ccode_484_time 0.0210 0.0136 1.5514 0.1213 -0.0056 0.0477 ccode_490_time -0.0169 0.0148 -1.1444 0.2529 -0.0459 0.0121 ccode_500_time 0.0242 0.0132 1.8330 0.0672 -0.0017 0.0501 ccode_501_time -0.0446 0.0142 -3.1367 0.0018 -0.0725 -0.0167 ccode_510_time -0.0460 0.0147 -3.1292 0.0018 -0.0749 -0.0172 ccode_516_time 0.0345 0.0120 2.8650 0.0043 0.0108 0.0581 ccode_517_time 0.0371 0.0117 3.1647 0.0016 0.0141 0.0602 ccode_520_time 0.1166 0.0342 3.4097 0.0007 0.0495 0.1837 ccode_522_time 0.0482 0.0252 1.9154 0.0559 -0.0012 0.0976 ccode_530_time 0.0012 0.0164 0.0716 0.9429 -0.0310 0.0334 ccode_540_time 0.0446 0.0164 2.7103 0.0069 0.0123 0.0769 ccode_541_time 0.0076 0.0133 0.5712 0.5681 -0.0185 0.0336 ccode_551_time -0.0226 0.0085 -2.6475 0.0083 -0.0394 -0.0058 ccode_552_time -0.0027 0.0113 -0.2388 0.8113 -0.0250 0.0195 ccode_553_time -0.0200 0.0085 -2.3399 0.0196 -0.0367 -0.0032 ccode_560_time -0.0217 0.0296 -0.7330 0.4638 -0.0799 0.0365 ccode_565_time 0.0063 0.0148 0.4286 0.6683 -0.0227 0.0354 ccode_570_time 0.0107 0.0131 0.8175 0.4139 -0.0150 0.0364 ccode_571_time 0.0107 0.0120 0.8917 0.3729 -0.0128 0.0342 ccode_572_time 0.0053 0.0129 0.4099 0.6820 -0.0200 0.0306 ccode_580_time -0.0163 0.0154 -1.0560 0.2913 -0.0466 0.0140 ccode_625_time 0.0392 0.0165 2.3827 0.0175 0.0069 0.0715 ethfrac 0.5096 0.3939 1.2937 0.1962 -0.2638 1.2830 lmtnest 0.0602 0.0583 1.0324 0.3022 -0.0543 0.1748 lpopl1 0.1593 0.0927 1.7189 0.0861 -0.0227 0.3412 polity2l 0.0043 0.0060 0.7072 0.4797 -0.0076 0.0162 relfrac 0.2221 0.4441 0.5002 0.6171 -0.6497 1.0940 y_0 0.0529 0.0979 0.5406 0.5890 -0.1392 0.2451 gdp_g -0.4124 1.4786 -0.2789 0.7804 -3.3155 2.4907 gdp_g_l -2.2489 1.0735 -2.0949 0.0365 -4.3567 -0.1412 ================================================================================== Endogenous: gdp_g, gdp_g_l Instruments: GPCP_g, GPCP_g_l Clustered Covariance (One-Way) Debiased: True Num Clusters: 41 0.34

Modelo 6 IV-2SLS

  • No variables de control

  • Si trend-time effects, efectos fijos a nivel país

formula_model6 = "any_prio ~ 1 + [gdp_g + gdp_g_l ~ GPCP_g + GPCP_g_l] + C(ccode)" + ' + ' + ' + '.join( country_trend ) iv_model_2 = IV2SLS.from_formula(formula_model6, repdata).fit(cov_type='clustered', clusters = repdata['ccode'], debiased=True) print(iv_model_2) rmse_iv_2 = round(mean_squared_error( y, iv_model_2.predict())**0.5,2) print(rmse_iv_2)
IV-2SLS Estimation Summary ============================================================================== Dep. Variable: any_prio R-squared: 0.5348 Estimator: IV-2SLS Adj. R-squared: 0.4762 No. Observations: 743 F-statistic: 1.761e+18 Date: Fri, Nov 18 2022 P-value (F-stat) 0.0000 Time: 20:15:05 Distribution: F(83,659) Cov. Estimator: clustered Parameter Estimates ===================================================================================== Parameter Std. Err. T-stat P-value Lower CI Upper CI ------------------------------------------------------------------------------------- Intercept 0.0327 0.1817 0.1799 0.8573 -0.3242 0.3896 C(ccode)[T.420.0] 0.0324 0.2861 0.1131 0.9100 -0.5295 0.5942 C(ccode)[T.432.0] -0.0762 0.2150 -0.3545 0.7231 -0.4985 0.3460 C(ccode)[T.433.0] -0.4174 0.1989 -2.0984 0.0363 -0.8081 -0.0268 C(ccode)[T.434.0] -0.1030 0.2324 -0.4432 0.6577 -0.5592 0.3533 C(ccode)[T.435.0] -0.1307 0.2299 -0.5687 0.5698 -0.5821 0.3207 C(ccode)[T.436.0] -0.3238 0.2917 -1.1100 0.2674 -0.8966 0.2490 C(ccode)[T.437.0] -0.3439 0.3341 -1.0293 0.3037 -1.0001 0.3122 C(ccode)[T.438.0] -0.3415 0.2260 -1.5107 0.1313 -0.7853 0.1024 C(ccode)[T.439.0] 0.2066 0.1585 1.3030 0.1930 -0.1047 0.5179 C(ccode)[T.450.0] -0.7089 0.1953 -3.6309 0.0003 -1.0923 -0.3255 C(ccode)[T.451.0] -0.5335 0.1915 -2.7852 0.0055 -0.9095 -0.1574 C(ccode)[T.452.0] 0.2663 0.2674 0.9962 0.3195 -0.2587 0.7913 C(ccode)[T.461.0] 0.0566 0.2424 0.2335 0.8155 -0.4193 0.5325 C(ccode)[T.471.0] 0.3069 0.1175 2.6122 0.0092 0.0762 0.5376 C(ccode)[T.475.0] -0.2183 0.2955 -0.7387 0.4603 -0.7984 0.3619 C(ccode)[T.481.0] -0.2026 0.2709 -0.7478 0.4548 -0.7345 0.3293 C(ccode)[T.482.0] -0.2002 0.2742 -0.7300 0.4656 -0.7386 0.3383 C(ccode)[T.483.0] 0.8333 0.3171 2.6282 0.0088 0.2107 1.4559 C(ccode)[T.484.0] -0.0378 0.0367 -1.0303 0.3032 -0.1098 0.0342 C(ccode)[T.490.0] 1.1167 0.1587 7.0384 0.0000 0.8052 1.4283 C(ccode)[T.500.0] 1.2422 0.0124 100.07 0.0000 1.2178 1.2665 C(ccode)[T.501.0] 0.1335 0.2084 0.6407 0.5219 -0.2756 0.5426 C(ccode)[T.510.0] -0.0653 0.1844 -0.3541 0.7234 -0.4273 0.2968 C(ccode)[T.516.0] -0.2674 0.0978 -2.7339 0.0064 -0.4594 -0.0753 C(ccode)[T.517.0] -0.3854 0.1865 -2.0662 0.0392 -0.7516 -0.0191 C(ccode)[T.520.0] 0.9632 0.1299 7.4126 0.0000 0.7081 1.2184 C(ccode)[T.522.0] -0.7073 0.4107 -1.7224 0.0855 -1.5137 0.0990 C(ccode)[T.530.0] 1.0231 0.2025 5.0528 0.0000 0.6255 1.4207 C(ccode)[T.540.0] 0.9781 0.1819 5.3782 0.0000 0.6210 1.3352 C(ccode)[T.541.0] 1.1670 0.3424 3.4087 0.0007 0.4948 1.8393 C(ccode)[T.551.0] -0.1348 0.2495 -0.5401 0.5893 -0.6247 0.3552 C(ccode)[T.552.0] -0.2908 0.1840 -1.5803 0.1145 -0.6520 0.0705 C(ccode)[T.553.0] -0.1362 0.2412 -0.5645 0.5726 -0.6099 0.3375 C(ccode)[T.560.0] 1.4703 0.1912 7.6905 0.0000 1.0949 1.8457 C(ccode)[T.565.0] -1.9541 0.2824 -6.9195 0.0000 -2.5086 -1.3995 C(ccode)[T.570.0] -0.1563 0.1872 -0.8351 0.4040 -0.5239 0.2113 C(ccode)[T.571.0] 0.1252 0.1121 1.1165 0.2646 -0.0950 0.3454 C(ccode)[T.572.0] -0.1657 0.2504 -0.6616 0.5085 -0.6574 0.3260 C(ccode)[T.580.0] -0.2657 0.3198 -0.8307 0.4064 -0.8937 0.3623 C(ccode)[T.625.0] 0.3251 0.2696 1.2058 0.2283 -0.2043 0.8545 ccode_404_time 0.0066 0.0142 0.4664 0.6411 -0.0213 0.0346 ccode_420_time -0.0052 0.0065 -0.8046 0.4213 -0.0179 0.0075 ccode_432_time 0.0127 0.0032 4.0283 0.0001 0.0065 0.0189 ccode_433_time 0.0632 0.0019 33.946 0.0000 0.0595 0.0668 ccode_434_time 0.0062 0.0043 1.4354 0.1516 -0.0023 0.0147 ccode_435_time 0.0085 0.0045 1.9065 0.0570 -0.0003 0.0173 ccode_436_time 0.0434 0.0050 8.7458 0.0000 0.0336 0.0531 ccode_437_time 0.0175 0.0087 2.0151 0.0443 0.0004 0.0346 ccode_438_time 0.0358 0.0042 8.4638 0.0000 0.0275 0.0441 ccode_439_time -0.0036 3.652e-05 -98.187 0.0000 -0.0037 -0.0035 ccode_450_time 0.1096 0.0052 20.996 0.0000 0.0994 0.1199 ccode_451_time 0.0684 0.0066 10.387 0.0000 0.0554 0.0813 ccode_452_time -0.0141 0.0083 -1.7077 0.0882 -0.0304 0.0021 ccode_461_time -0.0023 0.0029 -0.8169 0.4143 -0.0080 0.0033 ccode_471_time -0.0252 0.0071 -3.5275 0.0004 -0.0392 -0.0112 ccode_475_time 0.0095 0.0060 1.5890 0.1125 -0.0022 0.0212 ccode_481_time 0.0114 0.0058 1.9603 0.0504 -1.918e-05 0.0229 ccode_482_time 0.0097 0.0055 1.7656 0.0779 -0.0011 0.0205 ccode_483_time -0.0026 0.0087 -0.2942 0.7687 -0.0197 0.0146 ccode_484_time 0.0144 0.0151 0.9527 0.3411 -0.0153 0.0441 ccode_490_time -0.0571 0.0107 -5.3430 0.0000 -0.0781 -0.0361 ccode_500_time -0.0220 0.0084 -2.6170 0.0091 -0.0385 -0.0055 ccode_501_time -0.0094 0.0023 -4.0381 0.0001 -0.0140 -0.0049 ccode_510_time 0.0041 0.0018 2.3069 0.0214 0.0006 0.0075 ccode_516_time 0.0520 0.0086 6.0483 0.0000 0.0351 0.0689 ccode_517_time 0.0689 0.0011 63.471 0.0000 0.0668 0.0711 ccode_520_time -0.0061 0.0133 -0.4589 0.6465 -0.0322 0.0200 ccode_522_time 0.0934 0.0274 3.4101 0.0007 0.0396 0.1472 ccode_530_time -0.0200 0.0030 -6.6159 0.0000 -0.0259 -0.0141 ccode_540_time -0.0043 0.0021 -2.0504 0.0407 -0.0084 -0.0002 ccode_541_time -0.0470 0.0142 -3.3066 0.0010 -0.0749 -0.0191 ccode_551_time 0.0011 0.0015 0.6880 0.4917 -0.0020 0.0041 ccode_552_time 0.0320 0.0011 29.265 0.0000 0.0298 0.0341 ccode_553_time 0.0093 0.0054 1.7236 0.0852 -0.0013 0.0198 ccode_560_time -0.0693 0.0006 -125.51 0.0000 -0.0704 -0.0682 ccode_565_time 0.1254 0.0056 22.441 0.0000 0.1145 0.1364 ccode_570_time 0.0161 0.0012 12.956 0.0000 0.0137 0.0186 ccode_571_time -0.0058 0.0026 -2.2396 0.0254 -0.0109 -0.0007 ccode_572_time 0.0090 0.0048 1.9020 0.0576 -0.0003 0.0184 ccode_580_time 0.0111 0.0069 1.6116 0.1075 -0.0024 0.0247 ccode_625_time 0.0503 0.0100 5.0142 0.0000 0.0306 0.0700 gdp_g -1.1318 1.4030 -0.8067 0.4201 -3.8866 1.6231 gdp_g_l -2.5465 1.1025 -2.3098 0.0212 -4.7113 -0.3817 ===================================================================================== Endogenous: gdp_g, gdp_g_l Instruments: GPCP_g, GPCP_g_l Clustered Covariance (One-Way) Debiased: True Num Clusters: 41 0.3

Modelo 7 IV-2SLS

  • No variables de control

  • Si trend-time effects, efectos fijos a nivel país

formula_model7 = "war_prio ~ 1 + [gdp_g + gdp_g_l ~ GPCP_g + GPCP_g_l] + C(ccode)" + ' + ' + ' + '.join( country_trend ) iv_model_3 = IV2SLS.from_formula(formula_model7, repdata).fit(cov_type='clustered', clusters = repdata['ccode'], debiased=True) print(iv_model_3) y = repdata['war_prio'] rmse_iv_3 = round(mean_squared_error( y, iv_model_3.predict())**0.5,2) print(rmse_iv_3)
IV-2SLS Estimation Summary ============================================================================== Dep. Variable: war_prio R-squared: 0.6230 Estimator: IV-2SLS Adj. R-squared: 0.5755 No. Observations: 743 F-statistic: -4.013e+18 Date: Fri, Nov 18 2022 P-value (F-stat) 1.0000 Time: 20:15:06 Distribution: F(83,659) Cov. Estimator: clustered Parameter Estimates ===================================================================================== Parameter Std. Err. T-stat P-value Lower CI Upper CI ------------------------------------------------------------------------------------- Intercept 0.0838 0.0992 0.8443 0.3988 -0.1111 0.2786 C(ccode)[T.420.0] -0.1975 0.1560 -1.2657 0.2061 -0.5039 0.1089 C(ccode)[T.432.0] -0.1194 0.1172 -1.0189 0.3086 -0.3496 0.1107 C(ccode)[T.433.0] -0.2177 0.1085 -2.0072 0.0451 -0.4307 -0.0047 C(ccode)[T.434.0] -0.1398 0.1271 -1.1006 0.2715 -0.3894 0.1097 C(ccode)[T.435.0] -0.1348 0.1253 -1.0762 0.2822 -0.3807 0.1112 C(ccode)[T.436.0] -0.2036 0.1591 -1.2800 0.2010 -0.5160 0.1087 C(ccode)[T.437.0] -0.2431 0.1823 -1.3330 0.1830 -0.6011 0.1150 C(ccode)[T.438.0] -0.2489 0.1237 -2.0114 0.0447 -0.4918 -0.0059 C(ccode)[T.439.0] -0.0058 0.0866 -0.0675 0.9462 -0.1759 0.1643 C(ccode)[T.450.0] -0.2914 0.1069 -2.7260 0.0066 -0.5013 -0.0815 C(ccode)[T.451.0] -0.3463 0.1044 -3.3168 0.0010 -0.5513 -0.1413 C(ccode)[T.452.0] -0.1772 0.1458 -1.2152 0.2247 -0.4636 0.1091 C(ccode)[T.461.0] -0.1511 0.1327 -1.1387 0.2553 -0.4117 0.1095 C(ccode)[T.471.0] -0.0118 0.0669 -0.1764 0.8601 -0.1432 0.1196 C(ccode)[T.475.0] -0.2082 0.1612 -1.2915 0.1970 -0.5247 0.1083 C(ccode)[T.481.0] -0.1791 0.1476 -1.2136 0.2253 -0.4689 0.1107 C(ccode)[T.482.0] -0.1836 0.1494 -1.2285 0.2197 -0.4770 0.1099 C(ccode)[T.483.0] 0.9195 0.1728 5.3221 0.0000 0.5803 1.2588 C(ccode)[T.484.0] -0.2389 0.0269 -8.8736 0.0000 -0.2917 -0.1860 C(ccode)[T.490.0] 1.1335 0.0872 13.005 0.0000 0.9623 1.3046 C(ccode)[T.500.0] 1.3026 0.0073 179.43 0.0000 1.2884 1.3169 C(ccode)[T.501.0] -0.1120 0.1136 -0.9865 0.3243 -0.3351 0.1110 C(ccode)[T.510.0] -0.0840 0.1005 -0.8356 0.4037 -0.2812 0.1133 C(ccode)[T.516.0] -0.1078 0.0537 -2.0067 0.0452 -0.2134 -0.0023 C(ccode)[T.517.0] -0.3951 0.1025 -3.8561 0.0001 -0.5963 -0.1939 C(ccode)[T.520.0] -0.5985 0.0767 -7.8014 0.0000 -0.7491 -0.4479 C(ccode)[T.522.0] -0.3316 0.2237 -1.4820 0.1388 -0.7710 0.1077 C(ccode)[T.530.0] 1.3985 0.1106 12.640 0.0000 1.1812 1.6157 C(ccode)[T.540.0] 1.0419 0.0996 10.466 0.0000 0.8464 1.2373 C(ccode)[T.541.0] 1.2623 0.1867 6.7621 0.0000 0.8958 1.6288 C(ccode)[T.551.0] -0.1585 0.1363 -1.1623 0.2455 -0.4261 0.1092 C(ccode)[T.552.0] -0.3388 0.1004 -3.3733 0.0008 -0.5360 -0.1416 C(ccode)[T.553.0] -0.1484 0.1316 -1.1281 0.2597 -0.4067 0.1099 C(ccode)[T.560.0] 1.4105 0.1047 13.473 0.0000 1.2049 1.6161 C(ccode)[T.565.0] -1.9553 0.1542 -12.684 0.0000 -2.2580 -1.6526 C(ccode)[T.570.0] -0.0898 0.1022 -0.8787 0.3799 -0.2906 0.1109 C(ccode)[T.571.0] -0.0067 0.0633 -0.1059 0.9157 -0.1310 0.1176 C(ccode)[T.572.0] -0.1571 0.1364 -1.1515 0.2499 -0.4250 0.1108 C(ccode)[T.580.0] -0.2342 0.1744 -1.3433 0.1796 -0.5766 0.1082 C(ccode)[T.625.0] 0.4086 0.1470 2.7795 0.0056 0.1199 0.6972 ccode_404_time -0.0015 0.0078 -0.1953 0.8452 -0.0167 0.0137 ccode_420_time 0.0071 0.0035 2.0061 0.0453 0.0002 0.0140 ccode_432_time 0.0034 0.0017 1.9621 0.0502 -2.597e-06 0.0068 ccode_433_time 0.0160 0.0010 15.651 0.0000 0.0140 0.0180 ccode_434_time 0.0048 0.0024 2.0060 0.0453 0.0001 0.0094 ccode_435_time 0.0047 0.0025 1.9062 0.0571 -0.0001 0.0095 ccode_436_time 0.0054 0.0027 1.9996 0.0460 9.743e-05 0.0107 ccode_437_time 0.0088 0.0048 1.8186 0.0694 -0.0007 0.0183 ccode_438_time 0.0187 0.0023 8.0309 0.0000 0.0141 0.0233 ccode_439_time -9.434e-06 2.586e-05 -0.3648 0.7154 -6.021e-05 4.134e-05 ccode_450_time 0.0320 0.0035 9.2550 0.0000 0.0252 0.0387 ccode_451_time 0.0226 0.0036 6.2977 0.0000 0.0156 0.0297 ccode_452_time 0.0090 0.0045 1.9969 0.0462 0.0002 0.0178 ccode_461_time 0.0031 0.0016 1.8924 0.0589 -0.0001 0.0063 ccode_471_time -0.0071 0.0040 -1.7774 0.0760 -0.0150 0.0007 ccode_475_time 0.0066 0.0033 2.0101 0.0448 0.0002 0.0130 ccode_481_time 0.0060 0.0032 1.8673 0.0623 -0.0003 0.0123 ccode_482_time 0.0059 0.0030 1.9752 0.0487 3.491e-05 0.0118 ccode_483_time -0.0382 0.0048 -7.9601 0.0000 -0.0477 -0.0288 ccode_484_time 0.0260 0.0083 3.1410 0.0018 0.0097 0.0422 ccode_490_time -0.0619 0.0059 -10.560 0.0000 -0.0734 -0.0504 ccode_500_time -0.0566 0.0046 -12.341 0.0000 -0.0656 -0.0476 ccode_501_time 0.0024 0.0013 1.8659 0.0625 -0.0001 0.0050 ccode_510_time 0.0013 0.0011 1.1466 0.2520 -0.0009 0.0034 ccode_516_time 0.0047 0.0047 1.0056 0.3150 -0.0045 0.0139 ccode_517_time 0.0478 0.0008 60.725 0.0000 0.0463 0.0494 ccode_520_time 0.0959 0.0082 11.716 0.0000 0.0798 0.1120 ccode_522_time 0.0296 0.0149 1.9802 0.0481 0.0002 0.0589 ccode_530_time -0.0739 0.0017 -44.683 0.0000 -0.0771 -0.0706 ccode_540_time -0.0214 0.0012 -18.312 0.0000 -0.0237 -0.0191 ccode_541_time -0.0587 0.0078 -7.5238 0.0000 -0.0740 -0.0434 ccode_551_time 0.0016 0.0009 1.7358 0.0831 -0.0002 0.0034 ccode_552_time 0.0310 0.0006 51.207 0.0000 0.0298 0.0321 ccode_553_time 0.0058 0.0029 1.9881 0.0472 7.176e-05 0.0116 ccode_560_time -0.0683 0.0004 -168.64 0.0000 -0.0691 -0.0675 ccode_565_time 0.1228 0.0031 40.235 0.0000 0.1168 0.1288 ccode_570_time 0.0014 0.0007 1.9971 0.0462 2.274e-05 0.0027 ccode_571_time -0.0022 0.0015 -1.4570 0.1456 -0.0053 0.0008 ccode_572_time 0.0050 0.0026 1.9091 0.0567 -0.0001 0.0101 ccode_580_time 0.0076 0.0038 2.0083 0.0450 0.0002 0.0150 ccode_625_time 0.0274 0.0055 5.0069 0.0000 0.0166 0.0381 gdp_g -1.4800 0.8243 -1.7954 0.0731 -3.0986 0.1386 gdp_g_l -0.7688 0.6988 -1.1001 0.2717 -2.1410 0.6034 ===================================================================================== Endogenous: gdp_g, gdp_g_l Instruments: GPCP_g, GPCP_g_l Clustered Covariance (One-Way) Debiased: True Num Clusters: 41 0.23
# Lista de explicativa a mostrarse en la tabla explicativas = ['gdp_g', 'gdp_g_l','y_0', 'polity2l', 'ethfrac', 'relfrac', 'Oil', 'lmtnest','lpopl1'] # etiquetas a las variables etiquetas = ['Economic growth rate, t','Economic growth rate, t-1', 'Log(GDP per capita), 1979', 'Democracy (Polity IV), t-1', 'Ethnolinguistic fractionalization', 'Religious fractionalization', 'Oil-exporting country', 'Log(mountainous)','Log(national population), t-1'] labels = dict(zip(explicativas,etiquetas)) labels
{'gdp_g': 'Economic growth rate, t', 'gdp_g_l': 'Economic growth rate, t-1', 'y_0': 'Log(GDP per capita), 1979', 'polity2l': 'Democracy (Polity IV), t-1', 'ethfrac': 'Ethnolinguistic fractionalization', 'relfrac': 'Religious fractionalization', 'Oil': 'Oil-exporting country', 'lmtnest': 'Log(mountainous)', 'lpopl1': 'Log(national population), t-1'}
pystout(models = [ols_model2,ols_model3,ols_model4,iv_model_1,iv_model_2,iv_model_3], file='regression_table_2.tex', digits=3, endog_names=['OLS','OLS','OLS','IV-2SLS','IV-2SLS','IV-2SLS'], exogvars =explicativas , # sellecionamos las variables varlabels = labels, # etiquetas a las variables mgroups={'Dependent Variable: Civil Conflict 25 Deaths':[1,5]}, # titulo a las regresiones modstat={'nobs':'Observarions','rsquared':'R\sym{2}'}, # estadísticos addrows={'Country fixed effects':['no','no','yes','no','yes','yes'], 'Country-specific time trends' : ['no','yes','yes','yes','yes','yes'], 'Root mean square error': [rmse_ol2,rmse_ol3,rmse_ol4,rmse_iv_1 ,rmse_iv_2 ,rmse_iv_3 ]}, # añadimos filas addnotes=['Note.—Huber robust standard errors are in parentheses.', 'Regression disturbance terms are clustered at the country level.', 'A country-specific year time trend is included in all specifications (coefficient estimates not reported).', '* Significantly different from zero at 90 percent confidence.', '** Significantly different from zero at 95 percent confidence.', '*** Significantly different from zero at 99 percent confidence.'], title='Economic Growth and Civil Conflict', stars={.1:'*',.05:'**',.01:'***'} )
# df = pd.read_excel(r'base.xls', engine = xlrd ) # essto debe leernos el excel .xls pero está dañado # Esto sucede por que página web trasforma transforma la tabla a excel. Este proceso no lo hace bien la página. # por eso el excel está dañado. No obstante, la estrucutura es de una tabla html en el fondo. Por ello, html pd.html funciona # Usemos html pd.read_html df = pd.read_html(r'base.xls')
# EN el elemento inicial está la tabla. Luego solo limpie la base de datos df[0]