{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Efectos Fijos\n",
"\n",
"> I’m a traveler of both time and space \n",
"> to be where I have been \n",
"> To sit with elders of a gentle race \n",
"> the world has seldom seen. \n",
"> - _Led Zeppelin_\n",
"\n",
"_Elaborado en el ejercicio del año sabático UJED_\n",
"\n",
"La regresión lineal es un modelo muy importante porque permite establecer controles en nuestros datos. El problema es que depende de un supuesto clave: inconfundibilidad condicional:\n",
"\n",
"$(Y_0,Y_1) \\bot T | X$\n",
"\n",
"En otras palabras, requiere que todas las variables de confusión sean conocidas y medidas. De tal manera que podamos incluirlas en el modelo y hacer que el grupo de tratamiento se comporte como si hubiera sido fruto de una asignación aleatoria. Pero, a pesar de que no siempre tenemos el lujo de que nuestras variables sean observables, siempre podemos agruparlos con características en común.\n",
"\n",
"Ese es el problema que resuelven los modelos de datos en panel\n",
"\n",
"## Cómo se ven los datos en panel\n",
"\n",
"Imagina que estamos estudiando el efecto que hay entre el gasto en publicidad y los ingresos que nos genera.\n",
"\n",
"Para ser mas claros, estamos haciendo una campaña para incrementar las ventas de una e-commerce por tres canales de venta. La primera es por anuncios de Google, el segundo con anuncios en Meta (que incluye Facebook e Instagram) y el tercero es por mail marketing.\n",
"\n",
"Comencemos cargando nuestra base de datos en panel."
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Medio
\n",
"
Año
\n",
"
Ad cost
\n",
"
Sales
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Google Ads
\n",
"
2020
\n",
"
1.25
\n",
"
3.4
\n",
"
\n",
"
\n",
"
1
\n",
"
Google Ads
\n",
"
2021
\n",
"
2.00
\n",
"
10.0
\n",
"
\n",
"
\n",
"
2
\n",
"
Google Ads
\n",
"
2022
\n",
"
6.00
\n",
"
13.5
\n",
"
\n",
"
\n",
"
3
\n",
"
Google Ads
\n",
"
2023
\n",
"
5.00
\n",
"
8.0
\n",
"
\n",
"
\n",
"
4
\n",
"
Google Ads
\n",
"
2024
\n",
"
6.00
\n",
"
11.0
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Medio Año Ad cost Sales\n",
"0 Google Ads 2020 1.25 3.4\n",
"1 Google Ads 2021 2.00 10.0\n",
"2 Google Ads 2022 6.00 13.5\n",
"3 Google Ads 2023 5.00 8.0\n",
"4 Google Ads 2024 6.00 11.0"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import statsmodels.formula.api as sm\n",
"\n",
"df = pd.read_csv(\"../../../data/Panel/sales-panel.csv\")\n",
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Algunas observaciones sobre los datos:\n",
"\n",
"- Estamos agrupando los datos por el medio en el que se hace la publicidad (Anuncios de Google, Anuncios de Facebook y una campaña de email marketing).\n",
"- El supuesto clave en estos datos es que los clientes que obtenemos a partir de medios diferentes son distintos entre sí. Este supuesto tiene sentido, simplemente porque se interactúa diferente en diferentes medios.\n",
"- Es un ejemplo simple, pero en realidad un análisis de panel como este podría ser muy útil para analizar campañas distintas que corren en paralelo.\n",
"\n",
"Hagamos un diagrama de dispersión para analizar los datos.\n",
"\n",
"Lo que deseamos conocer es el efecto que hay entre el costo de la publicidad y las ventas de esa campaña particular."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
":20: FutureWarning: Support for multi-dimensional indexing (e.g. `obj[:, None]`) is deprecated and will be removed in a future version. Convert to a numpy array before indexing instead.\n",
" X = df['Ad cost'][:, np.newaxis] # X necesita ser 2D para np.polyfit\n"
]
},
{
"data": {
"image/png": "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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import numpy as np\n",
"\n",
"# Configurar el estilo de Seaborn\n",
"sns.set(style=\"whitegrid\")\n",
"\n",
"# Crear un diagrama de dispersión con diferentes colores para cada medio\n",
"colors = {\n",
" 'Google Ads': 'blue',\n",
" 'Facebook Ads': 'orange',\n",
" 'Email Marketing': 'green'\n",
"}\n",
"for medio in df['Medio'].unique():\n",
" subset = df[df['Medio'] == medio]\n",
" plt.scatter(subset['Ad cost'], subset['Sales'], s=100, label=medio, color=colors[medio])\n",
"\n",
"# Calcular y trazar la línea de regresión\n",
"# Combinar todos los puntos sin importar el 'Medio' para la línea de regresión\n",
"X = df['Ad cost'][:, np.newaxis] # X necesita ser 2D para np.polyfit\n",
"Y = df['Sales']\n",
"model = np.polyfit(X.flatten(), Y, 1)\n",
"predicted = np.polyval(model, X.flatten())\n",
"plt.plot(X.flatten(), predicted, color='red')\n",
"\n",
"# Configurar el título y las etiquetas del gráfico\n",
"plt.title('Diagrama de dispersión del costo de publicidad vs ventas')\n",
"plt.xlabel('Costos de publicidad')\n",
"plt.ylabel('Ventas')\n",
"plt.legend()\n",
"plt.grid(True)\n",
"plt.show()\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le puse colores para que notes a simple vista: una regresión simple no es lo que deseamos hacer.\n",
"\n",
"Si hiciéramos una regresión lineal simple tendríamos que nuestro gasto en publicidad no está aumentando las ventas. Al contrario, ¡Las está haciendo caer! Pero al separarlos por medio nos podemos dar cuenta de que no es así: cada una de las campañas de manera individual tiene un efecto positivo claro en las ventas.\n",
"\n",
"Esto se ve más claro en el diagrama de dispersión."
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xIk4nU4mTJjADTfcUGtI09latWrFq6++yqOPPorb7SY4OJg//OEPF+zzZz/7GU8++SQffvghNpuNMWPG0L9/fxwOB35+fkyfPp2PPvrokp5nXax3qPli/vDDD3P8+HHi4uK80+D+v//3/3jsscdYuXIlnTt3rjWsD2qm9p08eTIWi4Xf//73hIeHf6fX6VLWS9euXRkxYgTjxo3D19eX+Ph44uLiOHz4MMOHD2fPnj1MmzaN0NBQunXrdt6jY61bt6ZHjx64XC7viduTJ09mw4YNjB8/noCAANq2bXve6ZRnzJjBAw88wF/+8hdv7btuL1CzDZ9Zz2+99dZ539/n204u5XWti/fJ93G+1+PEiROX9Tzrajs/29ChQ7nrrru4/fbbsVgsBAcH8+abb2KxWHj88cd56qmnmDhxIuHh4URHR58znBjA19eXP//5z8yaNYu///3vuFwuHnjgAZKTk+nevfu3bltnAgPUTOn+wgsvMHHiRKqrq7n66qsvOhnI2bp168a4ceOYNm0agYGB+Pv789RTT12wr/Xr19OqVStee+01jh49SkREBC+//DJQc8T73nvvJTAwkODgYPr3739OiIQL7x/Ptx+50P5wxowZ592vfFNlZaV38oObb76ZlJQUgHrd3iMiInj99dd5+eWXqaqqwjAMXn75Zdq1a3dJ+02z3o8i9clifNdj9WKa1atXc/LkSW8AeuGFF/Dz8zvnF+QrSU5Ojnd2KGlaUlNT+fzzz3n77bfNbkWkUfjvf/9Ljx496NOnD06nk5tvvpn77ruvWUwHvX79eu+sZk3NN2c1FBHz6IhLE9KlSxfeeecd/v73v+PxeOjWrRvPPvus2W2JiEgdiIuL4/nnn8fj8VBdXc3YsWObRWgREakrOuIiIiIiIiKNnk7OFxERERGRRk/BRUREREREGr0mE1wMw/DOqiEiIiIiIleWeg0upaWlTJgw4ZwpOv/zn/+cd+rP83E6nWRmZta6tkZTsGPHDrNbkHqiddu8af02X1q3zZvWr0jzVW/BZdu2bdx0000cOnSoVn3fvn389a9/ra+HbXQqKyvNbkHqidZt86b123xp3TZvWr8izVe9BZfZs2fzzDPPEBkZ6a05nU6efvpp7r///vp6WBERERERaYbq7Tous2bNOqf2u9/9jmnTptGuXbv6elgREREREWmGGuwClGvWrCEvL4/HH3+c9evXf+/7yczMrMOuGkZ6errZLUg90bpt3rR+my+t2+ZN67d5Sk5ONrsFMVmDBZdFixaxd+9eJk2aRHl5OSdOnODBBx/ktdde+073k5CQgJ+fX/00WQ/S09P1RmumtG6bN63f5kvrtnnT+hVpvhosuPzmN7/x/vf69et58803v3NoERERERGRK1OTuY6LiIiIiIhcuer9iMuyZcvOqQ0cOJCBAwfW90OLiIiIiEgzoSMuIiIiIiLS6Cm4iIiIiIhIo6fgIiIiIiIijZ6Ci4iIiIiINHoKLiIiIiIi0ugpuIiIiIiISKPXYBegFBFpCjbtyid1xT6y807RfsMapo6Io1/3KLPbEhERueLpiIuIyGmbduXzdup2ThVX4O9r4VRxBW+nbmfTrnyzWxMREbniKbiIiJyWumIfdrsFf187FkvN/9vtFlJX7DO7NRERkSuegouIyGn5heX4+dhq1fx8bBQUlpvUkYiIiJyh4CIiclpURCBV1e5atapqN5ERgSZ1JCIiImcouIiInDZ1RBwul0Gl04Vh1Py/y2UwdUSc2a2JiIhc8RRcRERO69c9ip9OTaJFaACVToMWoQH8dGqSZhUTERFpBDQdsojIWfp1j6Jf9yjS09NJTk42ux0RERE5TUdcRERERESk0VNwERERERGRRk/BRUREREREGj0FFxERERERafQUXEREREREpNFTcBERERERkUZP0yFLndi0K5/UFfvILywnKiKQqSPidO0LEREREakzOuIil23TrnzeTt3OqeIKQgLsnCqu4O3U7WzalW92ayIiIiLSTCi4yGVLXbEPu92Cv68di6Xm/+12C6kr9pndmoiIiIg0EwouctnyC8vx87HVqvn52CgoLDepIxERERFpbhRc5LJFRQRSVe2uVauqdhMZEWhSRyIiIiLS3Ci4yGWbOiIOl8ug0unCMGr+3+UymDoizuzWRERERKSZUHCRy9avexQ/nZpEi9AASitctAgN4KdTkzSrmIiIiIjUGU2HLHWiX/coBRURERERqTc64iIiIiIiIo2egouIiIiIiDR6Ci4iIiIiItLoKbiIiIiIiEijp+AiIiIiIiKNnoKLiIiIiIg0egouIiIiIiLS6Cm4iIiIiIhIo6fgIiIiIiIijZ6Ci4iIiIiINHoKLiIiIiIi0ugpuIiIiIiISKOn4CIiIiIi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goODG6YzERGTGYZBZfYuHGnzKd+X7q3bglsQNmACoX2vxep3+VdbFpG6E2LXRarFHDk5OYwdO5bY2Nha9bfeeou2bdvWyWOMGjWKd999l3bt2l3W/aSmprJhwwZeeumlC/7de++9x29/+1uWL19O69bffs2xN954A4D77rvvsnq6FOcNLrfffju33347GzZsYPbs2fz5z3/muuuu44c//CFdumjstog0X4bhwSc/i9x351KVs8db94mIJmzQJEISh2Ox+5jYoYiINEaRkZEsWLDA7DbqTGpqKqNHj2bu3Lncc889Zrdz8XNcBgwYwIABAygqKmLBggU8+uijBAcH8+677zZEfyIiDcZwV1OSsQrHugUEnzzK6TNY8IvuQnjKFAK79sdisZrao4iIfH85/3gET5njnLo1KIx2t79cb4+blZXF888/T3l5OYWFhdx9993cdNNNFBUV8eSTT3LgwAF8fX157LHHSElJYdWqVbz++uu4XC7atWvH888/T4sWNUOS33zzTXbv3o2fnx+//vWv6datGydOnODJJ58kNzcXu93OQw89xLBhw6ioqOCpp55iz549WCwW7rjjDiZPnlyrt1mzZnHy5EleeeUVbLavpxTfvXs3DoeDu+66i/vvv5+7774bq7VmH/j3v/+d2bNn06JFC0JDQ0lKSqK6uponnniCvXv3AjUjtmbOnFmnr+MlTw/m6+tLYGAgQUFBnDp1qk6bEBExk6eqnOItX+JYvwh3aaG3HhDbp2aGsA49NKWxiEgz4ClzYA0M+9Z6XSgoKGDSpEnef0+cOJE777yTjz76iJ/97GekpKSQnZ3NDTfcwE033cQf//hHOnTowJ/+9Cf27NnD008/TdeuXfnd737Hu+++S1hYGB988AGvvvoqs2bNAqBjx4689NJLrFy5kscee4z58+fz/PPPM2jQIH7yk5+QnZ3NTTfdxPz58/nHP/5BixYtWLRoEYWFhcyYMYNu3bp5+3vjjTfIz8/n97//fa3QAjB37lzGjh1LQkICdrudr776iuHDh5ORkcHcuXOZN28eFouFG2+8kaSkJLZs2YLD4WD+/Pnk5+fzu9/9ruGDS3p6OnPmzGHp0qUMHjyY++67jwEDBtRpEyIiZnCVFlG88ROK0xfjqSqvKVqsBPccSm5YPJ1HjDO3QRERaVLON1Tsscce46uvvuLtt98m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IYwePZrt27fTqlUrpk2bxnvvvcexY8d46aWXGDBgABs2bOAPf/gDlZWVFBcX8/jjjzNmzBgee+wxBgwYwIABA857/6NHj2bp0qU89thjAGzatInevXuza9cuAEpLS3niiSfIz8+noKCAlJQUZs2axYYNG3jllVfweDx06dKFdu3aAeB2u3nooYdo164djzzyCKtWreL111/H5XLRrl07nn/+eVauXElmZiZPPfUUb775Ji+88AI///nPAXj77bfx9/dn//79dO3alVdffRVfX1/effdd/vOf/xASEkLnzp3p0KHDJR/dMSW4LFu2jDfffJOKigqGDBnCU089ZUYbItJIVJ86hmPdQkq2L8dwOQGw2H0J6T2asIET8QmPMrlDERGBml/x80ry2XT62iq7T+zH840hYJ3C29M3OpHk6EQ6R3TAamnYIWAXcia0BNj9sVlt2Cy2Og0vBQUFTJo0qVbt5ZdfpmvXrpw4cYJhw4bx3HPPccstt7BkyRLef/995s2bx7///W8GDBjAf/7zH1544QViY2NJS0vjxRdfZMyYMZf02C1atKB9+/Zs376dpKQkPv30U8aPH8///vc/AFasWEH37t15/fXXcTqdXH/99ezYsQOAQ4cOsXz5ckJCQnjjjTcwDIOnnnqKNm3a8Mgjj1BYWMjvfvc73n33XcLCwvjggw949dVXmTVrFnPnzuXnP/85Xbt2rdXPli1b+Oyzz4iMjGTmzJmsXr2a6Oho/vvf/5KamoqPjw+33HILHTp0uOTXt8GDS3Z2Ns888wwfffQRLVu25NZbb2XlypUMHz68oVsRkYvI+ccjeMoc59StQWF1cvXhqmMHKEqbT9muNDi947MGBBOaPI6wfuOwBYVd9mOIQO1tOdTp5Mjamskc6mpbFmnOXB43u4/vJT03k/Tc7RwrPV5ruY/Nh8Sobt4jKy0DW5jU6YV9M7RAzQxmAXb/OgsvFxsqNmzYMABiYmJITk4GIDo6muLimuvVvPLKKyxfvpzFixezbds2ysrKvtPjjxs3js8//5yePXuyZcsWfvWrX3mXTZgwge3bt/Ovf/2LAwcOUFRURHl5zRGyTp06ERIS4v3bDz74gJKSEpYuXQrAtm3byMvL48c//jFQMzNcWNiF99FdunShTZs2AMTGxuJwODh8+DAjR44kODgYgOuvv9773C9FgweXL7/8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",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Identificar los medios únicos para asegurarnos de asignar un marcador único para cada uno\n",
"unique_media = df['Medio'].unique()\n",
"\n",
"# Crear un diagrama de dispersión con diferentes marcadores para cada medio y líneas de regresión separadas\n",
"sns.lmplot(x='Ad cost', y='Sales', data=df, hue='Medio', markers=['o', 's', 'D', '^'][:len(unique_media)], height=6, aspect=1.6, ci=None)\n",
"\n",
"# Configurar el título y las etiquetas del gráfico\n",
"plt.title('Diagrama de dispersión del costo de publicidad vs ventas con líneas de regresión separadas por medio')\n",
"plt.xlabel('Costos de publicidad')\n",
"plt.ylabel('Ventas')\n",
"plt.show()\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Los efectos fijos son sólo una aglomeración de variables de control en una sola\n",
"\n",
"La clave de los efectos fijos es que:\n",
"\n",
"- Podemos incluir el efecto del tiempo en nuestro modelo, pero el tiempo en si mismo no es una variable.\n",
"- Lo que importa es que estamos capturando todas las características intrínsecas de nuestro medio y estamos asumiendo que son “fijas”.\n",
"\n",
"El modelo de efectos fijos se define en términos generales como\n",
"\n",
"$$\n",
"Y_{it} = \\beta X_{it} + \\gamma U_i + \\varepsilon_{it}\n",
"$$\n",
"\n",
"donde $Y_{it}$ es el resultado que tiene el individuo $i$ en el tiempo $t$, que puede medirse en meses, años, trimestres o lo que sea que tenga sentido. Nuevamente, $X_{it}$ es el vector de variables para el individuo $i$ en el tiempo $t$.\n",
"\n",
"Nota que ahora incluimos una variable $U_i$.\n",
"\n",
"Esta representa el conjunto de inobservables del individuo $i$ (la u es porque en inglés se dice *unobservables*). Nota que este elemento no tiene subíndice $t$, porque asumimos que estos inobservables no cambian en el tiempo. Por ejemplo, en una campaña de anuncios de google podemos asumir que el algoritmo que subasta un término de búsqueda es el mismo para todas las observaciones que hacemos.\n",
"\n",
"## Variación dentro del individuo\n",
"\n",
"En teoría, los efectos fijos funcionan igual que si usáramos una variable dummy para cada uno de los individuos (menos uno).\n",
"\n",
"El problema es que no es raro que nuestro panel se componga de más de 3 variables como en el ejemplo. Imaginemos que estamos tratando de hacer un panel para una campaña gigantesca ultrasegmentada de contenido con facebook ads. Una campaña así funcionaría haciendo un anuncio para cada pieza de contenido que hacemos, pautando (haciendo publicidad) y dejando que el algoritmo de meta encuentre a los consumidores ideales de ese contenido. Lo que obtenemos es una campaña para cada pieza de contenido que corren en paralelo. Esto puede hacer que el tamaño de nuestra base de datos aumente muy rápido.\n",
"\n",
"Por eso hacemos un pequeño truco que nos permite obtener el mismo resultado que si usaramos variables dummy, pero con un conjunto más manejable de datos.\n",
"\n",
"El primer paso es obtener las medias de nuestras variables. Así las vemos visualmente."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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6dixI2eccUadppObm1t+T9QRI0awefPmhgwzaSlRExERkagyMjJYtGgRJSUlALzxxht07dq1XtOcPn06bdu2bYDokp8SNREREanR97//faZNmwbA5MmTGTt239lN27Zt47LLLmPgwIH079+fl19+GYCSkhLGjBlDdnY2o0ePLk/0wHvi0MaNGwG4//776dOnD3369OGvf/1r4haqkVCiJiINZtWmEkp27WHdFt16QCSZjBkzhry8PEpLS1m4cCHHHnts+bC7776bk046iQ8//JD8/Hxuuukmtm3bxqOPPkqrVq1YuHAht956K/Pmzasy3Xnz5vHPf/6T999/nzlz5vCPf/yDBQsWJHLRQk+JmojU2969jreWrmPkQ+/yv2+KOeuR93j/y41BhyUiDSQ7O5vCwkImT57MiBEjKgybMWMGEyZMoF+/fuTm5lJaWsry5cuZOXMmP/7xj8s/n52dXWW67733Hueeey4ZGRlkZmbygx/8gHfffTchy9RYJOw+aiKJZmbE84bOss+XG7Zx1aT57Ni9F4B1W3dw9bPz+c81J9KlbXrA0YlIQzjrrLO48cYbKSgoKD9sCd79xKZMmULv3r2rfKa2qyK1ja6detREpN5Wby4pT9LKbCjeyZotJVE+ISKNzWWXXcbtt99O3759K5SfdtppPPTQQ+VJV9mhy6FDhzJp0iQAFi1axMKFC6tMc+jQobz00kts376dbdu2MXXqVIYMGRLnJWlclKiJSL11yGxBs0o/nFu1SKFdRotgAhKRBtetWzfGjx9fpfy2225j165dZGdn06dPH2677TYArrzySoqLi8nOzubee+9l0KBBVT47YMAALrnkEgYNGsSxxx7L5ZdfTv/+/eO+LI2JDn2KSL0d2jGT34w8kt9PWwJASjPjD+f2pWf7jIAjE5H6Ki4urlKWm5tb/izU9PR0Hn/88SrjpKenk5eXV+00CwsLKSoqAuD666/n+uuvb7iAk4wSNRGpt5apKfzo2IMZ2OsACj+Zy6vXDuLQjpm6A7uISD3p0KeINIi01BT6dm1LVlpzjjioNS2aa/MiIlJf2pKKiIiIhJQSNREREZGQUqImIiIiElJK1ERERERCSoma7JcNRTuY/cVGZi5bz6pNuqmpiEhjsW7dOn70ox9xyCGHcMwxxzB48GCmTp3a4PPp2bMnGzZsqNNn1q9fT2pqarW3+yhzxx13cN9999U3vEZDiZrU2cpN27lq0nzG/mMOFz31AaMem8Wna7YGHZaIiNTCOcc555zD0KFD+fLLL5k3bx55eXmsXLky6NAAeOGFFzjuuOOYPHly0KGEhhI1qbPZX2zkg8Jvy9+v3bKDf80uZPeevTV8SkRE6uqlBas4YcLb9Pr1NE6Y8DYvLVhVr+m9/fbbtGjRgp/97GflZT169ODaa68FoLS0lEsvvZS+ffvSv39/8vPzayzfvn07559/PtnZ2YwePZpjjz2WuXPnVpnvM888w6BBg+jXrx9XXHEFe/bsqTa+yZMn8+c//5mVK1eyatW+Zb377rvp3bs3J598Mp999ll5+YMPPsiRRx5JdnY2Y8aMqVfdhJVueCt1tmR11d6zD77aRMnOPWSlK/cXEWkILy1Yxc3//oSSXV5Ss2pzCTf/+xMAzunfdb+muXjxYgYMGBB1+COPPALAJ598wqeffsqpp57KsmXLopb/7W9/44ADDmDhwoUsWrSIfv36VZnm0qVLee6555g1axapqalcddVVTJo0iXPPPbfCeCtWrGDt2rUMGjSI888/n+eee47rr7++vNdvwYIF7N69mwEDBnDMMccAMGHCBL766itatmzJ5s2b96tOwk57VamzQb3aVSkb0bczmWnK+0VEGsqfXv+sPEkrU7JrD396/bMon6i7q6++mqOPPpqBAwcC8N5773HhhRcCcPjhh9OjRw+WLVtWY3lZT1afPn3Izs6uMo+33nqLefPmMXDgQPr168dbb73Fl19+WWW8vLw8zj//fADGjBlTfvjz3Xff5dxzz6VVq1a0bt2as846q/wz2dnZXHDBBTzzzDM0b56c+6DkXCqJq4G92nH5ib34538L2bPXMax3R354TDc9LkhEpAGt3lz9hVrRymNx1FFHMWXKlPL3jzzyCBs2bCAnJwfwzmGrTl3LK49z8cUX88c//rFCedmzPstMnjyZdevWMWnSJABWr17N559/DhB1/zJt2jRmzpzJf/7zH37/+9+zePHipEvY1KMmddYhsyW/PL03/zd+CNOvO5GHxvanhx6+LSLSoLq0Ta9TeSxOOukkSktLefTRR8vLtm/fXv566NCh5YnSsmXLWL58Ob17945afuKJJ/L8888DsGTJEj755JMq8xw+fDgvvvgi33zzDQDffvstX3/9dYVxPvvsM7Zt28aqVasoLCyksLCQm2++mby8PIYOHcrUqVMpKSmhqKiIV155BYC9e/eyYsUKhg0bxr333svmzZurfYB8Y6dETfZLi+YpfLdTFkd2aUNmWmrQ4YiIJJ2bTutNempKhbL01BRuOq33fk/TzHjppZd455136NWrF4MGDeLiiy/mnnvuAeCqq65iz5499O3bl9GjRzNx4kRatmxZY/n69evJzs7mnnvuITs7mzZt2lSY55FHHsldd93FqaeeSnZ2Nqeccgpr1qypMM7kyZOrnLM2atQoJk+ezIABAxg9ejT9+vVj1KhRDBkyBIA9e/bw4x//uPwCh1/84he0bdt2v+smrCyWbsug5eTkuOquIklGBQUF5ObmBh1GUjCzarvlVcfxpfqNP9Vx/MWrjpcuXcoRRxwR8/gvLVjFn17/jNWbS+jSNp2bTuu93xcSxMOePXvYtWsXaWlpfPHFFwwfPpxly5bRokWLWj9bVFREVlZWAqKMr+q+UzOb55zLaYjpJ9eBXBERkSRyTv+uoUrMKtu+fTvDhg1j165dOOd49NFHY0rSJHZK1ERERGS/ZGVlVXvfNGk4OkdNREREJKSUqImIiIiElBI1ERERkZBSoiYiIiISUkrUREREmpCUlBT69etX/ldYWNgg073jjju477776j2dgoICzjjjjJjGHT9+PF27dmXv3r1Rx8nMzKx3TEHSVZ8iIiJNSHp6Oh999FHQYdTb3r17mTp1Kt27d2fmzJlJe29B9aiJiIiE0R+6wh1tqv79oWHvq1ZcXMzw4cMZMGAAffv25eWXXy4f9vTTT5Odnc3RRx9d/lD29evXM2rUKAYOHMjAgQOZNWtW+fgff/wxJ510Eocddhj/+Mc/AO9ZnzfddBN9+vShb9++PPfcczWWR/rwww/p379/tQ9xz8/Pp0+fPlx55ZXlD3AH+Oqrrxg8eDADBw7ktttuKy9fs2YNQ4cOpV+/fvTp04d33323njWXGOpRExERCaOdUZ5bGa08RiUlJfTr1w+AXr168cILLzB16lRat27Nhg0bOO644zjrrLNYsmQJd999N7NmzaJDhw58++23gHe48Re/+AUnnngiy5cv57TTTmPp0qUALFy4kDlz5rBt2zb69+/PyJEjmT17Nh999BEff/wxGzZsYODAgQwdOpS33nqr2vIy//3vf7n22mt5+eWXOfjgg6ssx+TJkxk7dixnn302t9xyC7t27SI1NZXx48dz5ZVXctFFF/HII4+Uj//ss89y2mmnceutt7Jnz54KzzgNMyVqIiIiTUjlQ5+7du3illtuYebMmTRr1oxVq1axbt063n77bX74wx/SoUMHANq1awfAm2++yZIlS8o/v3XrVoqKigA4++yzSU9PJz09nWHDhvHBBx/w3nvvMXbsWFJSUujUqRPf+973+PDDD5k9e3a15a1bt2bp0qWMGzeOGTNm0KVLlyrLsHPnTqZPn85f/vIXsrKyOPbYY5kxYwYjR45k1qxZTJkyBYALL7yQX/3qVwAMHDiQyy67jF27dnHOOeeUJ6thp0RNRESkCZs0aRLr169n3rx5pKam0rNnT0pLS3HOYWZVxt+7dy+zZ88mPT29yrDK40d75jIQtRzgoIMOorS0lAULFlSbqL322mts2bKFvn37At6jrFq1asXIkSOrjQNg6NChzJw5k2nTpnHhhRdy0003cdFFF0WNISx0jpqIiEgTtmXLFg488EBSU1PJz8/n66+/BmD48OE8//zzbNy4EaD80Oepp57Kww8/XP75yN65l19+mdLSUjZu3EhBQUH54cznnnuOPXv2sH79embOnMmgQYM44YQTqi0HaNu2LdOmTeOWW26hoKCgSsyTJ0/miSeeoLCwkMLCQr766itmzJjB9u3bOeGEE8jLywO8JLTM119/zYEHHshPf/pTfvKTnzB//vwGrcd4UaImIiLShF1wwQXMnTuXnJwcJk2axOGHHw7AUUcdxa233sr3vvc9jj76aK6//noAHnzwQebOnUt2djZHHnkkjz32WPm0Bg0axMiRIznuuOO47bbb6NKlC+eee275BQknnXQS9957L507d+bMM8+strxMp06deOWVV7j66qt5//33y8u3b9/O66+/Xt57BpCRkcGJJ57IK6+8wgMPPMAjjzzCwIED2bJlS/k4BQUF9OvXj/79+zNlyhTGjx8ftzptSFZT12NY5OTkuKby0NeCgoKkvcQ40aJ1uauO40v1G3+q4/iLVx0vXbqUI444IraR/9C1+gsHWmTCLasaNrAAFBUVkZWVFXQY9Vbdd2pm85xzOQ0x/bido2ZmTwFnAN845/r4ZX8CzgR2Al8AlzrnNscrBhERkUYrCZIxqb94HvqcCJxeqewNoI9zLhtYBtwcx/mLiIiI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28QGJI1O01xzREREEuDAVgdy48Ab+X7P71coP++753F1v6tpn94+oMiksVCiJiIiEkeVkzUlaVIXupmLiIhInJUla8d3PZ4hXYcoSZOYKVETERFJgANbHcg53zkn6DCkkdGhTxEREZGQavI9at9sLWXR6q1s2raTQzpmcORBrWmZmhJ0WCIiIiJNO1FbX1TKr6YsJP+z9eVlD4/tzxlHdwkwKhERERFPkz70uXRNUYUkDeD2/yxmzeaSgCISERER2adJJ2pbSndVKft2205Kdu0JIBoRERGRipp0onZohwyaN7MKZScd3pGD2qQHFJGIiIjIPk06UevduTVPXTKQnh1a0cxgZN/O/GbkkaS30MUEIiIiErwmfTFBSjNj6Hc78u8rj2fbjj0cmNVSV3yKiIhIaDTpRK1Mu4yWtMsIOgoRERGRipr0oU8RERGRMFOiJiIiIhJSStREREREQkqJmoiIiEhIKVETERERCSklaiIiIiIhpURNREREJKSUqImIiIiElBI1ERERkZBSoiYiIiISUkrUREREREJKiZqIiIhISClRExEREQkpJWoiIiIiIaVETURERCSklKiJiIiIhJQSNREREZGQUqImIiIiElJK1ERERERCSomaiIiISEgpURMREREJKSVqIiIiIiGlRE1ERBot51zQIYjElRI1ERERkZBSoiYiIiISUs0TPUMz6w48DXQG9gJ/d849kOg4QmX6jbB2kfe6zSh4agJ07gMj7gs2LhEREQlUwhM1YDdwg3NuvpllAfPM7A3n3JIAYgmHtYtg+Wzvde/T970WERGRJi3hhz6dc2ucc/P910XAUqBrouMQERERCTsL8ooZM+sJzAT6OOe2Vho2DhgH0KlTp2Py8vISH2CibPwcdm4DoLhlFzJ3rIYWGdD+sIADS07FxcVkZmYGHUbSUv3Gn+o4/lTH8ZfMdTxs2LB5zrmchphWYImamWUC7wB3O+f+XdO4OTk5bu7cuYkJLAhP7TvcWdD7d+R+9ls4eDBc9lrAgSWngoICcnNzgw4jaal+4091HH+q4/hL5jo2swZL1II4Rw0zSwWmAJNqS9KahM599r1ukeElaZFlIiIi0iQFcdWnAU8CS51z9yd6/qEUeXVnQQGMUk+aiIiIBHMftROAC4GTzOwj/29EAHGIiIiIhFrCe9Scc+8Bluj5ioiIiDQ2ejKB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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Calculando el promedio y la desviación estándar del costo de anuncios y las ventas para cada medio\n",
"media_stats = df.groupby('Medio').agg({'Ad cost': ['mean', 'std'], 'Sales': ['mean', 'std']}).reset_index()\n",
"\n",
"# Creando el gráfico\n",
"plt.figure(figsize=(10, 6))\n",
"sns.scatterplot(x='Ad cost', y='Sales', data=df, hue='Medio', style='Medio', markers=['o', 's', 'D'][:len(unique_media)])\n",
"\n",
"# Añadiendo las líneas para representar el promedio ± una desviación estándar\n",
"for _, row in media_stats.iterrows():\n",
" medio = row['Medio']\n",
" ad_cost_mean = row[('Ad cost', 'mean')]\n",
" ad_cost_std = row[('Ad cost', 'std')]\n",
" sales_mean = row[('Sales', 'mean')]\n",
" sales_std = row[('Sales', 'std')]\n",
" \n",
" # Dibujando líneas para el costo de anuncios\n",
" plt.plot([ad_cost_mean - ad_cost_std, ad_cost_mean + ad_cost_std], [sales_mean, sales_mean], \n",
" color='black', linestyle='-', linewidth=1)\n",
" \n",
" # Dibujando líneas para las ventas\n",
" plt.plot([ad_cost_mean, ad_cost_mean], [sales_mean - sales_std, sales_mean + sales_std], \n",
" color='black', linestyle='-', linewidth=1)\n",
"\n",
"plt.title('Diagrama de Dispersión de Costo de Anuncio vs. Ventas con Promedios y Desviaciones Estándar')\n",
"plt.xlabel('Costo de Anuncio')\n",
"plt.ylabel('Ventas')\n",
"plt.legend(title='Medio')\n",
"plt.grid(True)\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"El siguiente paso es restar estas medias de nuestros individuos.\n",
"\n",
"$$\n",
"\\ddot{Y}_{it} = Y_{it} - \\bar{Y}_{i} \\\\ \\ddot{X}_{it} = X_{it} - \\bar{X}_{i}\n",
"$$\n",
"\n",
"Visualmente lo que esto logra es como si “empalmaramos” las cruces que se formaron en el gráfico anterior.\n",
"\n",
"Ahora sólo tenemos que hacer una regresión de $\\ddot Y_{it}$ contra $\\ddot X_{it}$, o bien\n",
"\n",
"$$\n",
"(Y_{it} - \\bar Y_i) = \\beta(X_{it} - \\bar X_{i}) + (\\varepsilon_{it} - \\bar \\varepsilon_{i}) \\\\ \\ddot Y_{it} = \\beta \\ddot X_{it} + \\ddot\\varepsilon_{it}\n",
"$$\n",
"\n",
"Nota que el término de elementos inobservables desaparece. Esto es porque $U_i = \\bar U_i$, por su propia definición. Es una operación que elimina todos los términos constantes en el tiempo.\n",
"\n",
"Visualmente, la regresión sería esta."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Medio
\n",
"
Año
\n",
"
Ad cost
\n",
"
Sales
\n",
"
Within Ad cost
\n",
"
Sales Within
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Google Ads
\n",
"
2020
\n",
"
1.25
\n",
"
3.4
\n",
"
-2.625
\n",
"
-6.416667
\n",
"
\n",
"
\n",
"
1
\n",
"
Google Ads
\n",
"
2021
\n",
"
2.00
\n",
"
10.0
\n",
"
-1.875
\n",
"
0.183333
\n",
"
\n",
"
\n",
"
2
\n",
"
Google Ads
\n",
"
2022
\n",
"
6.00
\n",
"
13.5
\n",
"
2.125
\n",
"
3.683333
\n",
"
\n",
"
\n",
"
3
\n",
"
Google Ads
\n",
"
2023
\n",
"
5.00
\n",
"
8.0
\n",
"
1.125
\n",
"
-1.816667
\n",
"
\n",
"
\n",
"
4
\n",
"
Google Ads
\n",
"
2024
\n",
"
6.00
\n",
"
11.0
\n",
"
2.125
\n",
"
1.183333
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Medio Año Ad cost Sales Within Ad cost Sales Within\n",
"0 Google Ads 2020 1.25 3.4 -2.625 -6.416667\n",
"1 Google Ads 2021 2.00 10.0 -1.875 0.183333\n",
"2 Google Ads 2022 6.00 13.5 2.125 3.683333\n",
"3 Google Ads 2023 5.00 8.0 1.125 -1.816667\n",
"4 Google Ads 2024 6.00 11.0 2.125 1.183333"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df['Within Ad cost'] = df.groupby('Medio')['Ad cost'].transform(lambda x: x - x.mean())\n",
"df['Sales Within'] = df.groupby('Medio')['Sales'].transform(lambda x: x - x.mean())\n",
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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3v/+99PT0zNgfKtWreLb3/429fX1bNny2nv9+te/zuLFiznnnHNIHmT5pptu4ogjjmDJkiVcfvnlh/TZiIhIZguHgkristyEqpH77bNb+PxvXqCty0t6tjS18fnfvADAm5YdXJXySy+9xLHHHjto+c033wzACy+8wD//+U/OPfdcampqBl3+wx/+kMmTJ/P888/z4osvsnTp0v3WuXbtWu6++24ee+wx8vLy+NCHPsQdd9zBu971rpTnbd68me3bt3PCCSfw9re/nbvvvptPfvKTrF69mrvuuotnn32W7u5ujj32WI477jgAVq5cyYYNGwiHwzQ1NR3UZyIiIiLjY0LVyH3rD6/4SVyftq4evvWHVwZ5xch9+MMf5phjjmH58uUA/O1vf+Oqq64C4LDDDqO8vJyampohl/fVhB111FEsWbJkv2383//9H6tXr2b58uUsXbqU//u//2P9+vX7Pe+uu+7i7W9/OwCXX345q1atAuCvf/0rl156KdFolJKSEi655BL/NUuWLOGd73wnv/jFLwiFJlSeLyIi46Srq4uWlhb27duX7lCy3oS6Um9tahvR8uE48sgjueeee/zHN998M42NjRx/vDe12mBz2Y50ef/nvPvd7+Yb3/jGkM9btWoVO3bs4I477gBg69atxONxwLs/YiAPPvggjz76KL/73e/46le/yksvvaSETkRERqSxrZFQIERpuNRf1tvbS3t7Ox0dHfT2esOfhMPhNEWYOyZUjdzs0siIlg/HWWedRXt7Oz/60Y/8Za2trf7fp59+up9I1dTUsGnTJhYvXjzo8tNOO41f/vKXALz88su88MIL+23z7LPP5te//jWvvvoqALt27WLjxo0pz3nllVfYt28fW7Zsoa6ujrq6Oj7/+c9z1113cfrpp3PvvffS1tZGc3Mz999/P+AdZJs3b+bMM8/km9/8Jk1NTbS0tBz0ZyMiIhPPzrad3LzmZm5/8XZ2t++mo6ODvXv3snv3btra2vwkTkbHhKpq+cx5i1PukQOI5AX5zHmLD3qdZsZvf/tbPvGJT/DNb36TsrIyCgsL+Y//+A8APvShD/GBD3yAo48+mlAoxO233044HB5y+bvf/W6WLFnCsmXLWLJkCZMmTUrZ5hFHHMHXvvY1zj33XHp7e8nLy+Pmm2+mvLzcf86qVau49NJLU173lre8hcsvv5wv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",
"text/plain": [
"
"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Calculando las estadísticas necesarias para los cruces en el gráfico\n",
"media_within_stats = df.groupby('Medio').agg({'Within Ad cost': ['mean', 'std'], 'Sales Within': ['mean', 'std']}).reset_index()\n",
"\n",
"# Creando el gráfico con las variables \"Within\"\n",
"plt.figure(figsize=(10, 6))\n",
"\n",
"# Usando scatterplot para los puntos con color, pero sin añadir la línea de regresión aquí\n",
"sns.scatterplot(x='Within Ad cost', y='Sales Within', data=df, hue='Medio', style='Medio', markers=['o', 's', 'D'][:len(df['Medio'].unique())])\n",
"\n",
"# Añadiendo la línea de regresión con regplot\n",
"sns.regplot(x='Within Ad cost', y='Sales Within', data=df, scatter=False, color='gray')\n",
"\n",
"# Añadiendo las cruces que representan la media ± una desviación estándar para las variables within\n",
"for _, row in media_within_stats.iterrows():\n",
" medio = row['Medio']\n",
" within_ad_cost_mean = row[('Within Ad cost', 'mean')]\n",
" within_ad_cost_std = row[('Within Ad cost', 'std')]\n",
" sales_within_mean = row[('Sales Within', 'mean')]\n",
" sales_within_std = row[('Sales Within', 'std')]\n",
" \n",
" # Dibujando líneas para Within Ad cost\n",
" plt.plot([within_ad_cost_mean - within_ad_cost_std, within_ad_cost_mean + within_ad_cost_std], [sales_within_mean, sales_within_mean], \n",
" color='black', linestyle='-', linewidth=1)\n",
" \n",
" # Dibujando líneas para Sales Within\n",
" plt.plot([within_ad_cost_mean, within_ad_cost_mean], [sales_within_mean - sales_within_std, sales_within_mean + sales_within_std], \n",
" color='black', linestyle='-', linewidth=1)\n",
"\n",
"plt.title('Diagrama de Dispersión de Within Ad Cost vs. Sales Within con Cruces y Única Línea de Regresión')\n",
"plt.xlabel('Within Ad Cost')\n",
"plt.ylabel('Sales Within')\n",
"plt.legend(title='Medio')\n",
"plt.grid(True)\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Nota cómo ahora las medias están en cero en los dos ejes. \n",
"\n",
"Ahora todos los datos están en un punto comparable. A esto se le llama “absorber” los efectos fijos.\n",
"\n",
"Naturalmente, ahora podemos aplicar una regresión lineal simple a nuestros datos."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/mario/anaconda3/lib/python3.8/site-packages/scipy/stats/stats.py:1603: UserWarning: kurtosistest only valid for n>=20 ... continuing anyway, n=18\n",
" warnings.warn(\"kurtosistest only valid for n>=20 ... continuing \"\n"
]
},
{
"data": {
"text/html": [
"
\n",
"
OLS Regression Results
\n",
"
\n",
"
Dep. Variable:
Q(\"Sales Within\")
R-squared:
0.483
\n",
"
\n",
"
\n",
"
Model:
OLS
Adj. R-squared:
0.451
\n",
"
\n",
"
\n",
"
Method:
Least Squares
F-statistic:
14.96
\n",
"
\n",
"
\n",
"
Date:
Wed, 29 May 2024
Prob (F-statistic):
0.00136
\n",
"
\n",
"
\n",
"
Time:
09:07:24
Log-Likelihood:
-38.610
\n",
"
\n",
"
\n",
"
No. Observations:
18
AIC:
81.22
\n",
"
\n",
"
\n",
"
Df Residuals:
16
BIC:
83.00
\n",
"
\n",
"
\n",
"
Df Model:
1
\n",
"
\n",
"
\n",
"
Covariance Type:
nonrobust
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
coef
std err
t
P>|t|
[0.025
0.975]
\n",
"
\n",
"
\n",
"
Intercept
0
0.517
0
1.000
-1.095
1.095
\n",
"
\n",
"
\n",
"
Q(\"Within Ad cost\")
0.8283
0.214
3.868
0.001
0.374
1.282
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
Omnibus:
0.334
Durbin-Watson:
2.169
\n",
"
\n",
"
\n",
"
Prob(Omnibus):
0.846
Jarque-Bera (JB):
0.487
\n",
"
\n",
"
\n",
"
Skew:
-0.177
Prob(JB):
0.784
\n",
"
\n",
"
\n",
"
Kurtosis:
2.275
Cond. No.
2.41
\n",
"
\n",
"
Notes: [1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
],
"text/plain": [
"\n",
"\"\"\"\n",
" OLS Regression Results \n",
"==============================================================================\n",
"Dep. Variable: Q(\"Sales Within\") R-squared: 0.483\n",
"Model: OLS Adj. R-squared: 0.451\n",
"Method: Least Squares F-statistic: 14.96\n",
"Date: Wed, 29 May 2024 Prob (F-statistic): 0.00136\n",
"Time: 09:07:24 Log-Likelihood: -38.610\n",
"No. Observations: 18 AIC: 81.22\n",
"Df Residuals: 16 BIC: 83.00\n",
"Df Model: 1 \n",
"Covariance Type: nonrobust \n",
"=======================================================================================\n",
" coef std err t P>|t| [0.025 0.975]\n",
"---------------------------------------------------------------------------------------\n",
"Intercept 0 0.517 0 1.000 -1.095 1.095\n",
"Q(\"Within Ad cost\") 0.8283 0.214 3.868 0.001 0.374 1.282\n",
"==============================================================================\n",
"Omnibus: 0.334 Durbin-Watson: 2.169\n",
"Prob(Omnibus): 0.846 Jarque-Bera (JB): 0.487\n",
"Skew: -0.177 Prob(JB): 0.784\n",
"Kurtosis: 2.275 Cond. No. 2.41\n",
"==============================================================================\n",
"\n",
"Notes:\n",
"[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
"\"\"\""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import statsmodels.api as sm\n",
"import statsmodels.formula.api as smf\n",
"\n",
"# Define the formula for the fixed effects model using the demeaned variables\n",
"formula = 'Q(\"Sales Within\") ~ Q(\"Within Ad cost\")'\n",
"\n",
"# Fit the fixed effects model\n",
"model = smf.ols(formula, data=df).fit()\n",
"\n",
"# Display the summary of the regression results\n",
"model.summary()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Y listo.\n",
"\n",
"La regresión sobre nuestros datos centrados es una regresión lineal simple. Podemos observar que la relación entre la publicidad y las ventas es positiva.\n",
"\n",
"Este es un modelo sencillo con sólo dos variables. En modelos más complejos, querrás usar paquetería especializada para el manejo de datos en panel.\n",
"\n",
"Este es el código usando `PanelOLS`, del módulo `linearmodels`."
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
PanelOLS Estimation Summary
\n",
"
\n",
"
Dep. Variable:
Sales
R-squared:
0.4832
\n",
"
\n",
"
\n",
"
Estimator:
PanelOLS
R-squared (Between):
0.6666
\n",
"
\n",
"
\n",
"
No. Observations:
18
R-squared (Within):
0.4832
\n",
"
\n",
"
\n",
"
Date:
Wed, May 29 2024
R-squared (Overall):
0.6431
\n",
"
\n",
"
\n",
"
Time:
09:07:29
Log-likelihood
-38.610
\n",
"
\n",
"
\n",
"
Cov. Estimator:
Unadjusted
\n",
"
\n",
"
\n",
"
F-statistic:
13.092
\n",
"
\n",
"
\n",
"
Entities:
3
P-value
0.0028
\n",
"
\n",
"
\n",
"
Avg Obs:
6.0000
Distribution:
F(1,14)
\n",
"
\n",
"
\n",
"
Min Obs:
6.0000
\n",
"
\n",
"
\n",
"
Max Obs:
6.0000
F-statistic (robust):
13.092
\n",
"
\n",
"
\n",
"
P-value
0.0028
\n",
"
\n",
"
\n",
"
Time periods:
6
Distribution:
F(1,14)
\n",
"
\n",
"
\n",
"
Avg Obs:
3.0000
\n",
"
\n",
"
\n",
"
Min Obs:
3.0000
\n",
"
\n",
"
\n",
"
Max Obs:
3.0000
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
Parameter Estimates
\n",
"
\n",
"
Parameter
Std. Err.
T-stat
P-value
Lower CI
Upper CI
\n",
"
\n",
"
\n",
"
Q('Ad cost')
0.8283
0.2289
3.6183
0.0028
0.3373
1.3194
\n",
"
\n",
"
F-test for Poolability: 13.450 P-value: 0.0006 Distribution: F(2,14)
Included effects: Entity"
],
"text/plain": [
"\n",
"\"\"\"\n",
" PanelOLS Estimation Summary \n",
"================================================================================\n",
"Dep. Variable: Sales R-squared: 0.4832\n",
"Estimator: PanelOLS R-squared (Between): 0.6666\n",
"No. Observations: 18 R-squared (Within): 0.4832\n",
"Date: Wed, May 29 2024 R-squared (Overall): 0.6431\n",
"Time: 09:07:29 Log-likelihood -38.610\n",
"Cov. Estimator: Unadjusted \n",
" F-statistic: 13.092\n",
"Entities: 3 P-value 0.0028\n",
"Avg Obs: 6.0000 Distribution: F(1,14)\n",
"Min Obs: 6.0000 \n",
"Max Obs: 6.0000 F-statistic (robust): 13.092\n",
" P-value 0.0028\n",
"Time periods: 6 Distribution: F(1,14)\n",
"Avg Obs: 3.0000 \n",
"Min Obs: 3.0000 \n",
"Max Obs: 3.0000 \n",
" \n",
" Parameter Estimates \n",
"================================================================================\n",
" Parameter Std. Err. T-stat P-value Lower CI Upper CI\n",
"--------------------------------------------------------------------------------\n",
"Q('Ad cost') 0.8283 0.2289 3.6183 0.0028 0.3373 1.3194\n",
"================================================================================\n",
"\n",
"F-test for Poolability: 13.450\n",
"P-value: 0.0006\n",
"Distribution: F(2,14)\n",
"\n",
"Included effects: Entity\n",
"\"\"\""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from linearmodels.panel import PanelOLS\n",
"\n",
"# Preparing the data: Setting 'Medio' and 'Año' as index\n",
"df_panel = df.set_index(['Medio', 'Año'])\n",
"\n",
"# Specifying and fitting the model with entity effects (fixed effects)\n",
"panel_model = PanelOLS.from_formula('Sales ~ Q(\"Ad cost\") + EntityEffects', data=df_panel)\n",
"\n",
"# Fitting the model\n",
"panel_results = panel_model.fit()\n",
"\n",
"# Displaying the results\n",
"panel_results.summary"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## El efecto fijo de dos vías\n",
"\n",
"Digamos que queremos hacer lo mismo no sólo para los individuos, sino también para el tiempo.\n",
"\n",
"El resultado sería un modelo como este:\n",
"\n",
"$$\n",
"Y_{it} = U_i + U_t + \\beta X_{it} + \\varepsilon_{it}\n",
"$$\n",
"\n",
"Lo que este modelo nos da es una estimación que permite comparar la variación *entre individuos* al mismo tiempo que *entre años*.\n",
"\n",
"Por ejemplo, nota que en los datos anteriores, las ventas del año 2020 son relativamente más bajas que las demás. Es un recordatorio de la época de pandemia, en la que cerraron todos los negocios y las ventas de muchas cosas bajaron, a menos de que vendas cubrebocas. En el caso de las ventas por Facebook, 3.4 es muy bajo para lo que estamos acostumbrados a vender por ese medio, pero no es un nivel de ventas tan fuera de lo normal para el marketing por e-mail.\n",
"\n",
"Usa este código para hacer una regresión de panel por dos vías."
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" PanelOLS Estimation Summary \n",
"================================================================================\n",
"Dep. Variable: Sales R-squared: 0.0084\n",
"Estimator: PanelOLS R-squared (Between): -0.1419\n",
"No. Observations: 18 R-squared (Within): -0.1093\n",
"Date: Tue, Apr 02 2024 R-squared (Overall): -0.1377\n",
"Time: 18:57:54 Log-likelihood -25.865\n",
"Cov. Estimator: Unadjusted \n",
" F-statistic: 0.0763\n",
"Entities: 3 P-value 0.7886\n",
"Avg Obs: 6.0000 Distribution: F(1,9)\n",
"Min Obs: 6.0000 \n",
"Max Obs: 6.0000 F-statistic (robust): 0.0763\n",
" P-value 0.7886\n",
"Time periods: 6 Distribution: F(1,9)\n",
"Avg Obs: 3.0000 \n",
"Min Obs: 3.0000 \n",
"Max Obs: 3.0000 \n",
" \n",
" Parameter Estimates \n",
"================================================================================\n",
" Parameter Std. Err. T-stat P-value Lower CI Upper CI\n",
"--------------------------------------------------------------------------------\n",
"Q('Ad cost') -0.0889 0.3217 -0.2763 0.7886 -0.8166 0.6389\n",
"================================================================================\n",
"\n",
"F-test for Poolability: 14.193\n",
"P-value: 0.0003\n",
"Distribution: F(7,9)\n",
"\n",
"Included effects: Entity, Time\n"
]
}
],
"source": [
"from linearmodels.panel import PanelOLS\n",
"\n",
"# Efectos fijos de dos vias\n",
"model = PanelOLS.from_formula('Sales ~ Q(\"Ad cost\") + EntityEffects + TimeEffects', data=df_panel)\n",
"results = model.fit()\n",
"print(results.summary)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Referencias\n",
"Cunningham, S. (2021). _Causal Inference: The Mixtape_.\n",
"Huntington-Klein, N. (2022). _The Effect: An Introduction to Research Design and Causality_.\n",
"Facure Alves, M. (2022). _Causal Inference for the Brave and True_.\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Como citar este libro\n",
"\n",
"Cita en APA (7a edición)\n",
"\n",
"```\n",
"García Meza, M. A. (2024). *Inferencia causal para negocios: Una guía práctica con Python*. https://inferenciacausal.com\n",
"```\n",
"\n",
"Cita en MLA (9a edición)\n",
"\n",
"```\n",
"García Meza, Mario A. *Inferencia Causal para Negocios: Una Guía Práctica con Python*. Durango, México, 2024. https://inferenciacausal.com.\n",
"```\n",
"\n",
"Cita en Chicago\n",
"\n",
"```\n",
"García Meza, Mario A. I*nferencia Causal para Negocios: Una Guía Práctica con Python*. Durango, México, 2024. https://inferenciacausal.com.\n",
"```\n",
"\n",
"\n",
"_Espero que este libro te resulte útil._\n",
"\n",
"_Si eres economista y deseas escribir tu primer paper de economía, hice este curso gratis por correo justo para tí._\n",
"\n",
"_En este curso aprenderás a:_\n",
"\n",
"* _Crear objetivos de investigación que tienen sentido, que ningún juez te podrá \"tumbar\"._\n",
"* _Usar causalidad en tus modelos y no sólo seguir una receta de cocina para trabajar con datos._\n",
"* _Apoyarte de otras personas y la tecnología para escribir al menos dos papers al año, todos los años, consistentemente y para siempre._\n",
"\n",
"