diff --git a/statistical-analysis.ipynb b/statistical-analysis.ipynb new file mode 100644 index 0000000..01785d4 --- /dev/null +++ b/statistical-analysis.ipynb @@ -0,0 +1,1589 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9a5dc4d2", + "metadata": {}, + "source": [ + "# Proyecto 5 -análisis estadístico\n", + "## Análisis del precio de casas" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "id": "6e6297e5", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn import metrics" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "id": "5407669e", + "metadata": {}, + "outputs": [], + "source": [ + "df = pd.read_csv(\"train.csv\")" + ] + }, + { + "cell_type": "markdown", + "id": "b8f8e3c7", + "metadata": {}, + "source": [ + "## 1. Exploración y limpieza de la df" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "id": "2e376321", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
IdMSSubClassMSZoningLotFrontageLotAreaStreetAlleyLotShapeLandContourUtilities...PoolAreaPoolQCFenceMiscFeatureMiscValMoSoldYrSoldSaleTypeSaleConditionSalePrice
0160RL65.08450PaveNaNRegLvlAllPub...0NaNNaNNaN022008WDNormal208500
1220RL80.09600PaveNaNRegLvlAllPub...0NaNNaNNaN052007WDNormal181500
2360RL68.011250PaveNaNIR1LvlAllPub...0NaNNaNNaN092008WDNormal223500
3470RL60.09550PaveNaNIR1LvlAllPub...0NaNNaNNaN022006WDAbnorml140000
4560RL84.014260PaveNaNIR1LvlAllPub...0NaNNaNNaN0122008WDNormal250000
\n", + "

5 rows × 81 columns

\n", + "
" + ], + "text/plain": [ + " Id MSSubClass MSZoning LotFrontage LotArea Street Alley LotShape \\\n", + "0 1 60 RL 65.0 8450 Pave NaN Reg \n", + "1 2 20 RL 80.0 9600 Pave NaN Reg \n", + "2 3 60 RL 68.0 11250 Pave NaN IR1 \n", + "3 4 70 RL 60.0 9550 Pave NaN IR1 \n", + "4 5 60 RL 84.0 14260 Pave NaN IR1 \n", + "\n", + " LandContour Utilities ... PoolArea PoolQC Fence MiscFeature MiscVal MoSold \\\n", + "0 Lvl AllPub ... 0 NaN NaN NaN 0 2 \n", + "1 Lvl AllPub ... 0 NaN NaN NaN 0 5 \n", + "2 Lvl AllPub ... 0 NaN NaN NaN 0 9 \n", + "3 Lvl AllPub ... 0 NaN NaN NaN 0 2 \n", + "4 Lvl AllPub ... 0 NaN NaN NaN 0 12 \n", + "\n", + " YrSold SaleType SaleCondition SalePrice \n", + "0 2008 WD Normal 208500 \n", + "1 2007 WD Normal 181500 \n", + "2 2008 WD Normal 223500 \n", + "3 2006 WD Abnorml 140000 \n", + "4 2008 WD Normal 250000 \n", + "\n", + "[5 rows x 81 columns]" + ] + }, + "execution_count": 171, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "id": "14b36007", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Normal 1198\n", + "Partial 125\n", + "Abnorml 101\n", + "Family 20\n", + "Alloca 12\n", + "AdjLand 4\n", + "Name: SaleCondition, dtype: int64" + ] + }, + "execution_count": 172, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.SaleCondition.value_counts() \n", + "# para delimiar el estudio aún más filtraré la base eligiendo sólo las ventas que tuvieron una cond" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "id": "7046c8f1", + "metadata": {}, + "outputs": [], + "source": [ + "#df=df[df.SaleCondition=='Normal']" + ] + }, + { + "cell_type": "code", + "execution_count": 174, + "id": "6fad7e40", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "RangeIndex: 1460 entries, 0 to 1459\n", + "Data columns (total 81 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Id 1460 non-null int64 \n", + " 1 MSSubClass 1460 non-null int64 \n", + " 2 MSZoning 1460 non-null object \n", + " 3 LotFrontage 1201 non-null float64\n", + " 4 LotArea 1460 non-null int64 \n", + " 5 Street 1460 non-null object \n", + " 6 Alley 91 non-null object \n", + " 7 LotShape 1460 non-null object \n", + " 8 LandContour 1460 non-null object \n", + " 9 Utilities 1460 non-null object \n", + " 10 LotConfig 1460 non-null object \n", + " 11 LandSlope 1460 non-null object \n", + " 12 Neighborhood 1460 non-null object \n", + " 13 Condition1 1460 non-null object \n", + " 14 Condition2 1460 non-null object \n", + " 15 BldgType 1460 non-null object \n", + " 16 HouseStyle 1460 non-null object \n", + " 17 OverallQual 1460 non-null int64 \n", + " 18 OverallCond 1460 non-null int64 \n", + " 19 YearBuilt 1460 non-null int64 \n", + " 20 YearRemodAdd 1460 non-null int64 \n", + " 21 RoofStyle 1460 non-null object \n", + " 22 RoofMatl 1460 non-null object \n", + " 23 Exterior1st 1460 non-null object \n", + " 24 Exterior2nd 1460 non-null object \n", + " 25 MasVnrType 1452 non-null object \n", + " 26 MasVnrArea 1452 non-null float64\n", + " 27 ExterQual 1460 non-null object \n", + " 28 ExterCond 1460 non-null object \n", + " 29 Foundation 1460 non-null object \n", + " 30 BsmtQual 1423 non-null object \n", + " 31 BsmtCond 1423 non-null object \n", + " 32 BsmtExposure 1422 non-null object \n", + " 33 BsmtFinType1 1423 non-null object \n", + " 34 BsmtFinSF1 1460 non-null int64 \n", + " 35 BsmtFinType2 1422 non-null object \n", + " 36 BsmtFinSF2 1460 non-null int64 \n", + " 37 BsmtUnfSF 1460 non-null int64 \n", + " 38 TotalBsmtSF 1460 non-null int64 \n", + " 39 Heating 1460 non-null object \n", + " 40 HeatingQC 1460 non-null object \n", + " 41 CentralAir 1460 non-null object \n", + " 42 Electrical 1459 non-null object \n", + " 43 1stFlrSF 1460 non-null int64 \n", + " 44 2ndFlrSF 1460 non-null int64 \n", + " 45 LowQualFinSF 1460 non-null int64 \n", + " 46 GrLivArea 1460 non-null int64 \n", + " 47 BsmtFullBath 1460 non-null int64 \n", + " 48 BsmtHalfBath 1460 non-null int64 \n", + " 49 FullBath 1460 non-null int64 \n", + " 50 HalfBath 1460 non-null int64 \n", + " 51 BedroomAbvGr 1460 non-null int64 \n", + " 52 KitchenAbvGr 1460 non-null int64 \n", + " 53 KitchenQual 1460 non-null object \n", + " 54 TotRmsAbvGrd 1460 non-null int64 \n", + " 55 Functional 1460 non-null object \n", + " 56 Fireplaces 1460 non-null int64 \n", + " 57 FireplaceQu 770 non-null object \n", + " 58 GarageType 1379 non-null object \n", + " 59 GarageYrBlt 1379 non-null float64\n", + " 60 GarageFinish 1379 non-null object \n", + " 61 GarageCars 1460 non-null int64 \n", + " 62 GarageArea 1460 non-null int64 \n", + " 63 GarageQual 1379 non-null object \n", + " 64 GarageCond 1379 non-null object \n", + " 65 PavedDrive 1460 non-null object \n", + " 66 WoodDeckSF 1460 non-null int64 \n", + " 67 OpenPorchSF 1460 non-null int64 \n", + " 68 EnclosedPorch 1460 non-null int64 \n", + " 69 3SsnPorch 1460 non-null int64 \n", + " 70 ScreenPorch 1460 non-null int64 \n", + " 71 PoolArea 1460 non-null int64 \n", + " 72 PoolQC 7 non-null object \n", + " 73 Fence 281 non-null object \n", + " 74 MiscFeature 54 non-null object \n", + " 75 MiscVal 1460 non-null int64 \n", + " 76 MoSold 1460 non-null int64 \n", + " 77 YrSold 1460 non-null int64 \n", + " 78 SaleType 1460 non-null object \n", + " 79 SaleCondition 1460 non-null object \n", + " 80 SalePrice 1460 non-null int64 \n", + "dtypes: float64(3), int64(35), object(43)\n", + "memory usage: 924.0+ KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "id": "10d61329", + "metadata": {}, + "outputs": [], + "source": [ + "# En principio resaltan las variables de alley, Fireplace, PoolQC, Fence, MiscFeature por el número de nulls\n", + "# Sin embargo es por el tipo de variables, que sean características que no todas las casas tienen:\n", + "# - Alley: Type of alley access to property\n", + "# - FireplaceQu: Fireplace quality\n", + "# - PoolQC: Pool quality\n", + "# - Fence: Fence quality\n", + "# - MiscFeature: Miscellaneous feature not covered in other categories" + ] + }, + { + "cell_type": "markdown", + "id": "2d1c84cf", + "metadata": {}, + "source": [ + "### Conversión de variables" + ] + }, + { + "cell_type": "markdown", + "id": "0fbf87fc", + "metadata": {}, + "source": [ + "#### Variables dumies\n", + "Algunas variables de tipo categóricas serán convertidas en dummies:\n", + "- LandContour\n", + "- Utilities: Type of utilities available\n", + "- Neighborhood\n", + "- ExterCond: Evaluates the present condition of the material on the exterior\n", + "- HeatingQC: Heating quality and condition\n", + "- MiscFeature: Miscellaneous feature not covered in other categories" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "2f1a5a19", + "metadata": {}, + "outputs": [], + "source": [ + "df_dummies=pd.get_dummies(df[['LandContour', 'Utilities', 'Neighborhood', 'ExterCond', 'HeatingQC', 'MiscFeature', 'Functional']])" + ] + }, + { + "cell_type": "markdown", + "id": "422a3019", + "metadata": {}, + "source": [ + "### Correlación entre variable SalePrice y las variables de interés\n", + "\n", + "Nuestra variable dependiente es SalePrice, así que es útil obtener la correlación entre esta y otras variables" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "id": "299997cd", + "metadata": {}, + "outputs": [], + "source": [ + "cols = list(df)\n", + "cols = [cols[-1]] + cols[:-1]\n", + "df = df[cols]" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "id": "993817b2", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "df=df.drop(labels='Id', axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "id": "e69b0f54", + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SalePrice
OverallQual0.790982
GrLivArea0.708624
GarageCars0.640409
GarageArea0.623431
TotalBsmtSF0.613581
1stFlrSF0.605852
FullBath0.560664
\n", + "
" + ], + "text/plain": [ + " SalePrice\n", + "OverallQual 0.790982\n", + "GrLivArea 0.708624\n", + "GarageCars 0.640409\n", + "GarageArea 0.623431\n", + "TotalBsmtSF 0.613581\n", + "1stFlrSF 0.605852\n", + "FullBath 0.560664" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Para ver qué variables pueden servirnos por su relación con el precio hacemos una correlación\n", + "df.corr().loc[:'SalePrice'].T.sort_values('SalePrice', ascending=False).head(11)[1:8]" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "id": "8065fddb", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SalePrice
3SsnPorch0.044584
BsmtFinSF2-0.011378
BsmtHalfBath-0.016844
MiscVal-0.021190
LowQualFinSF-0.025606
YrSold-0.028923
OverallCond-0.077856
MSSubClass-0.084284
EnclosedPorch-0.128578
KitchenAbvGr-0.135907
\n", + "
" + ], + "text/plain": [ + " SalePrice\n", + "3SsnPorch 0.044584\n", + "BsmtFinSF2 -0.011378\n", + "BsmtHalfBath -0.016844\n", + "MiscVal -0.021190\n", + "LowQualFinSF -0.025606\n", + "YrSold -0.028923\n", + "OverallCond -0.077856\n", + "MSSubClass -0.084284\n", + "EnclosedPorch -0.128578\n", + "KitchenAbvGr -0.135907" + ] + }, + "execution_count": 180, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.corr().loc[:'SalePrice'].T.sort_values('SalePrice', ascending=False).tail(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 181, + "id": "2fe46ce7", + "metadata": {}, + "outputs": [], + "source": [ + "# Parece que las variables con correlación positiva tienen un impacto más grande en el precio de las propiedades\n", + "# por lo que limitaré mi análisis las primeras 6, sin contar a la variable 'GarageCars'." + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "id": "ca9f6d58", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "df_corr = df.corr().loc[:'SalePrice'].T.sort_values('SalePrice', ascending=False)[1:8]" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "id": "eca138eb", + "metadata": {}, + "outputs": [], + "source": [ + "cols.remove('GarageCars')" + ] + }, + { + "cell_type": "code", + "execution_count": 184, + "id": "46545881", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "# limito mi df a as variables de interés\n", + "df_var= df[df_corr.index]\n", + "cols = list(df_var)\n", + "cols.remove('GarageCars')\n", + "#cols.append('Functional_categorical')\n", + "cols.append('SalePrice')\n", + "cols = [cols[-1]] + cols[:-1]\n", + "df_var = df[cols]" + ] + }, + { + "cell_type": "code", + "execution_count": 185, + "id": "63e64aab", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "df_var = df_var[cols]" + ] + }, + { + "cell_type": "code", + "execution_count": 186, + "id": "ea28370e", + "metadata": {}, + "outputs": [], + "source": [ + "df_var = df_var.join(df_dummies)" + ] + }, + { + "cell_type": "markdown", + "id": "51ef58a3", + "metadata": {}, + "source": [ + "## 2. Análisis de variables principales" + ] + }, + { + "cell_type": "code", + "execution_count": 187, + "id": "eab6768a", + "metadata": {}, + "outputs": [], + "source": [ + "import statsmodels.api as sm" + ] + }, + { + "cell_type": "markdown", + "id": "6ca35486", + "metadata": {}, + "source": [ + "Las variables elegidas para el modelo son las siguientes:\n", + "1. OverallQual: Rates the overall material and finish of the house\n", + "2. GrLivArea: Above grade (ground) living area square feet\n", + "3. TotalBsmtSF: Total square feet of basement area\n", + "4. 1stFlrSF: First Floor square feet\n", + "5. FullBath: Full bathrooms above grade\n", + "\n", + "Y las variables dummies:\n", + "1. LandContour: Flatness of the property\n", + "2. Neighborhood: Physical locations within Ames city limits\n", + "3. ExterCond: Evaluates the present condition of the material on the exterior\n", + "4. MiscFeature: Miscellaneous feature not covered in other categories\n", + "5. Functional: Home functionality (Assume typical unless deductions are warranted)" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "id": "733166cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 189, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "sns.pairplot(df_var, y_vars='SalePrice', x_vars=df_var.iloc[:,0:7])" + ] + }, + { + "cell_type": "markdown", + "id": "590e7668", + "metadata": {}, + "source": [ + "### 1. Análisis de regresión lineal" + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "id": "ec714b51", + "metadata": {}, + "outputs": [], + "source": [ + "X = df_var.dropna()\n", + "y = X.SalePrice\n", + "X = sm.add_constant(X.drop('SalePrice', axis=1))" + ] + }, + { + "cell_type": "code", + "execution_count": 191, + "id": "1bb7e35d", + "metadata": {}, + "outputs": [], + "source": [ + "X_train, X_test, y_train, y_test = train_test_split(X, y, random_state = 22, test_size=0.2)" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "id": "e774c264", + "metadata": {}, + "outputs": [], + "source": [ + "lrm = LinearRegression().fit(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "id": "86a8b76e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.8078882607384523" + ] + }, + "execution_count": 193, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lrm.score(X_train, y_train)" + ] + }, + { + "cell_type": "code", + "execution_count": 194, + "id": "f77e7d6a", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0.8464104158618241" + ] + }, + "execution_count": 194, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lrm.score(X_test, y_test)" + ] + }, + { + "cell_type": "markdown", + "id": "75d72dc5", + "metadata": {}, + "source": [ + "Parece que el modelo no está cayendo en overfitting o en underfitting." + ] + }, + { + "cell_type": "markdown", + "id": "1d715d59", + "metadata": {}, + "source": [ + "### Interpretación del grado de explicación de las variables del modelo $Ordinary Least Squares$" + ] + }, + { + "cell_type": "code", + "execution_count": 195, + "id": "03237206", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 195, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sm.OLS(y, X.dropna()).fit()" + ] + }, + { + "cell_type": "code", + "execution_count": 196, + "id": "cd857e8c", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
OLS Regression Results
Dep. Variable: SalePrice R-squared: 0.817
Model: OLS Adj. R-squared: 0.810
Method: Least Squares F-statistic: 120.5
Date: Tue, 08 Feb 2022 Prob (F-statistic): 0.00
Time: 18:05:04 Log-Likelihood: -17306.
No. Observations: 1460 AIC: 3.472e+04
Df Residuals: 1407 BIC: 3.500e+04
Df Model: 52
Covariance Type: nonrobust
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
coef std err t P>|t| [0.025 0.975]
const -3.443e+04 9669.712 -3.560 0.000 -5.34e+04 -1.55e+04
OverallQual 1.573e+04 1180.778 13.325 0.000 1.34e+04 1.8e+04
GrLivArea 47.3212 3.009 15.728 0.000 41.419 53.223
GarageArea 35.6109 5.851 6.086 0.000 24.132 47.090
TotalBsmtSF 12.3692 4.021 3.076 0.002 4.482 20.256
1stFlrSF 17.0376 4.925 3.460 0.001 7.377 26.698
FullBath -1862.7399 2557.284 -0.728 0.466 -6879.240 3153.761
LandContour_Bnk -2.863e+04 4771.178 -6.000 0.000 -3.8e+04 -1.93e+04
LandContour_HLS 1964.9316 5149.630 0.382 0.703 -8136.847 1.21e+04
LandContour_Low 4588.5439 5694.751 0.806 0.421 -6582.573 1.58e+04
LandContour_Lvl -1.235e+04 3303.855 -3.738 0.000 -1.88e+04 -5870.328
Utilities_AllPub 7955.5701 1.42e+04 0.559 0.576 -2e+04 3.59e+04
Utilities_NoSeWa -4.238e+04 2.16e+04 -1.960 0.050 -8.48e+04 43.600
Neighborhood_Blmngtn -1.519e+04 8500.811 -1.786 0.074 -3.19e+04 1490.621
Neighborhood_Blueste -2.196e+04 2.37e+04 -0.926 0.354 -6.85e+04 2.45e+04
Neighborhood_BrDale -2.837e+04 8737.977 -3.247 0.001 -4.55e+04 -1.12e+04
Neighborhood_BrkSide -1.049e+04 4896.480 -2.143 0.032 -2.01e+04 -889.171
Neighborhood_ClearCr 9755.5316 7148.115 1.365 0.173 -4266.579 2.38e+04
Neighborhood_CollgCr -1002.0113 3399.846 -0.295 0.768 -7671.323 5667.301
Neighborhood_Crawfor 1.086e+04 5213.559 2.082 0.037 629.022 2.11e+04
Neighborhood_Edwards -2.084e+04 3924.497 -5.310 0.000 -2.85e+04 -1.31e+04
Neighborhood_Gilbert -414.8263 4350.953 -0.095 0.924 -8949.880 8120.228
Neighborhood_IDOTRR -2.594e+04 6111.012 -4.245 0.000 -3.79e+04 -1.4e+04
Neighborhood_MeadowV -1.559e+04 8465.972 -1.842 0.066 -3.22e+04 1015.827
Neighborhood_Mitchel -1.29e+04 5098.833 -2.531 0.011 -2.29e+04 -2901.548
Neighborhood_NAmes -1.276e+04 3031.286 -4.211 0.000 -1.87e+04 -6818.464
Neighborhood_NPkVill -1.488e+04 1.14e+04 -1.303 0.193 -3.73e+04 7530.405
Neighborhood_NWAmes -1.147e+04 4407.835 -2.603 0.009 -2.01e+04 -2826.015
Neighborhood_NoRidge 5.152e+04 5965.731 8.636 0.000 3.98e+04 6.32e+04
Neighborhood_NridgHt 5.169e+04 4887.016 10.578 0.000 4.21e+04 6.13e+04
Neighborhood_OldTown -3.094e+04 3769.665 -8.209 0.000 -3.83e+04 -2.35e+04
Neighborhood_SWISU -2.36e+04 7309.789 -3.228 0.001 -3.79e+04 -9259.091
Neighborhood_Sawyer -8962.1991 4445.981 -2.016 0.044 -1.77e+04 -240.735
Neighborhood_SawyerW -6677.1207 4681.519 -1.426 0.154 -1.59e+04 2506.388
Neighborhood_Somerst 8346.5464 4434.026 1.882 0.060 -351.467 1.7e+04
Neighborhood_StoneBr 5.271e+04 7252.385 7.268 0.000 3.85e+04 6.69e+04
Neighborhood_Timber 1.292e+04 5933.733 2.177 0.030 1279.287 2.46e+04
Neighborhood_Veenker 2.977e+04 1.03e+04 2.904 0.004 9664.061 4.99e+04
ExterCond_Ex 1.889e+04 1.82e+04 1.036 0.301 -1.69e+04 5.47e+04
ExterCond_Fa -1.478e+04 9572.223 -1.544 0.123 -3.36e+04 3997.149
ExterCond_Gd -3488.4171 8372.822 -0.417 0.677 -1.99e+04 1.29e+04
ExterCond_Po -2.725e+04 3.03e+04 -0.901 0.368 -8.66e+04 3.21e+04
ExterCond_TA -7797.0245 8093.905 -0.963 0.336 -2.37e+04 8080.396
HeatingQC_Ex 873.4482 6966.448 0.125 0.900 -1.28e+04 1.45e+04
HeatingQC_Fa -9062.8764 7877.315 -1.151 0.250 -2.45e+04 6389.671
HeatingQC_Gd -6535.2620 6982.768 -0.936 0.349 -2.02e+04 7162.495
HeatingQC_Po -1.086e+04 2.88e+04 -0.377 0.706 -6.74e+04 4.57e+04
HeatingQC_TA -8838.7969 6905.392 -1.280 0.201 -2.24e+04 4707.175
MiscFeature_Gar2 -8687.2562 2.47e+04 -0.352 0.725 -5.71e+04 3.97e+04
MiscFeature_Othr 9442.1477 2.54e+04 0.372 0.710 -4.04e+04 5.93e+04
MiscFeature_Shed 2599.9969 5174.003 0.503 0.615 -7549.595 1.27e+04
MiscFeature_TenC -587.3040 3.5e+04 -0.017 0.987 -6.93e+04 6.82e+04
Functional_Maj1 -631.3401 9975.986 -0.063 0.950 -2.02e+04 1.89e+04
Functional_Maj2 -1.239e+04 1.47e+04 -0.844 0.399 -4.12e+04 1.64e+04
Functional_Min1 8720.5900 7915.028 1.102 0.271 -6805.936 2.42e+04
Functional_Min2 7662.0976 7782.654 0.985 0.325 -7604.757 2.29e+04
Functional_Mod 1.12e+04 9883.880 1.133 0.257 -8187.242 3.06e+04
Functional_Sev -6.92e+04 3.04e+04 -2.274 0.023 -1.29e+05 -9492.305
Functional_Typ 2.021e+04 5874.803 3.440 0.001 8686.883 3.17e+04
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Omnibus: 402.204 Durbin-Watson: 1.960
Prob(Omnibus): 0.000 Jarque-Bera (JB): 35877.809
Skew: 0.024 Prob(JB): 0.00
Kurtosis: 27.285 Cond. No. 9.38e+16


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The smallest eigenvalue is 9.05e-25. This might indicate that there are
strong multicollinearity problems or that the design matrix is singular." + ], + "text/plain": [ + "\n", + "\"\"\"\n", + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: SalePrice R-squared: 0.817\n", + "Model: OLS Adj. R-squared: 0.810\n", + "Method: Least Squares F-statistic: 120.5\n", + "Date: Tue, 08 Feb 2022 Prob (F-statistic): 0.00\n", + "Time: 18:05:04 Log-Likelihood: -17306.\n", + "No. Observations: 1460 AIC: 3.472e+04\n", + "Df Residuals: 1407 BIC: 3.500e+04\n", + "Df Model: 52 \n", + "Covariance Type: nonrobust \n", + "========================================================================================\n", + " coef std err t P>|t| [0.025 0.975]\n", + "----------------------------------------------------------------------------------------\n", + "const -3.443e+04 9669.712 -3.560 0.000 -5.34e+04 -1.55e+04\n", + "OverallQual 1.573e+04 1180.778 13.325 0.000 1.34e+04 1.8e+04\n", + "GrLivArea 47.3212 3.009 15.728 0.000 41.419 53.223\n", + "GarageArea 35.6109 5.851 6.086 0.000 24.132 47.090\n", + "TotalBsmtSF 12.3692 4.021 3.076 0.002 4.482 20.256\n", + "1stFlrSF 17.0376 4.925 3.460 0.001 7.377 26.698\n", + "FullBath -1862.7399 2557.284 -0.728 0.466 -6879.240 3153.761\n", + "LandContour_Bnk -2.863e+04 4771.178 -6.000 0.000 -3.8e+04 -1.93e+04\n", + "LandContour_HLS 1964.9316 5149.630 0.382 0.703 -8136.847 1.21e+04\n", + "LandContour_Low 4588.5439 5694.751 0.806 0.421 -6582.573 1.58e+04\n", + "LandContour_Lvl -1.235e+04 3303.855 -3.738 0.000 -1.88e+04 -5870.328\n", + "Utilities_AllPub 7955.5701 1.42e+04 0.559 0.576 -2e+04 3.59e+04\n", + "Utilities_NoSeWa -4.238e+04 2.16e+04 -1.960 0.050 -8.48e+04 43.600\n", + "Neighborhood_Blmngtn -1.519e+04 8500.811 -1.786 0.074 -3.19e+04 1490.621\n", + "Neighborhood_Blueste -2.196e+04 2.37e+04 -0.926 0.354 -6.85e+04 2.45e+04\n", + "Neighborhood_BrDale -2.837e+04 8737.977 -3.247 0.001 -4.55e+04 -1.12e+04\n", + "Neighborhood_BrkSide -1.049e+04 4896.480 -2.143 0.032 -2.01e+04 -889.171\n", + "Neighborhood_ClearCr 9755.5316 7148.115 1.365 0.173 -4266.579 2.38e+04\n", + "Neighborhood_CollgCr -1002.0113 3399.846 -0.295 0.768 -7671.323 5667.301\n", + "Neighborhood_Crawfor 1.086e+04 5213.559 2.082 0.037 629.022 2.11e+04\n", + "Neighborhood_Edwards -2.084e+04 3924.497 -5.310 0.000 -2.85e+04 -1.31e+04\n", + "Neighborhood_Gilbert -414.8263 4350.953 -0.095 0.924 -8949.880 8120.228\n", + "Neighborhood_IDOTRR -2.594e+04 6111.012 -4.245 0.000 -3.79e+04 -1.4e+04\n", + "Neighborhood_MeadowV -1.559e+04 8465.972 -1.842 0.066 -3.22e+04 1015.827\n", + "Neighborhood_Mitchel -1.29e+04 5098.833 -2.531 0.011 -2.29e+04 -2901.548\n", + "Neighborhood_NAmes -1.276e+04 3031.286 -4.211 0.000 -1.87e+04 -6818.464\n", + "Neighborhood_NPkVill -1.488e+04 1.14e+04 -1.303 0.193 -3.73e+04 7530.405\n", + "Neighborhood_NWAmes -1.147e+04 4407.835 -2.603 0.009 -2.01e+04 -2826.015\n", + "Neighborhood_NoRidge 5.152e+04 5965.731 8.636 0.000 3.98e+04 6.32e+04\n", + "Neighborhood_NridgHt 5.169e+04 4887.016 10.578 0.000 4.21e+04 6.13e+04\n", + "Neighborhood_OldTown -3.094e+04 3769.665 -8.209 0.000 -3.83e+04 -2.35e+04\n", + "Neighborhood_SWISU -2.36e+04 7309.789 -3.228 0.001 -3.79e+04 -9259.091\n", + "Neighborhood_Sawyer -8962.1991 4445.981 -2.016 0.044 -1.77e+04 -240.735\n", + "Neighborhood_SawyerW -6677.1207 4681.519 -1.426 0.154 -1.59e+04 2506.388\n", + "Neighborhood_Somerst 8346.5464 4434.026 1.882 0.060 -351.467 1.7e+04\n", + "Neighborhood_StoneBr 5.271e+04 7252.385 7.268 0.000 3.85e+04 6.69e+04\n", + "Neighborhood_Timber 1.292e+04 5933.733 2.177 0.030 1279.287 2.46e+04\n", + "Neighborhood_Veenker 2.977e+04 1.03e+04 2.904 0.004 9664.061 4.99e+04\n", + "ExterCond_Ex 1.889e+04 1.82e+04 1.036 0.301 -1.69e+04 5.47e+04\n", + "ExterCond_Fa -1.478e+04 9572.223 -1.544 0.123 -3.36e+04 3997.149\n", + "ExterCond_Gd -3488.4171 8372.822 -0.417 0.677 -1.99e+04 1.29e+04\n", + "ExterCond_Po -2.725e+04 3.03e+04 -0.901 0.368 -8.66e+04 3.21e+04\n", + "ExterCond_TA -7797.0245 8093.905 -0.963 0.336 -2.37e+04 8080.396\n", + "HeatingQC_Ex 873.4482 6966.448 0.125 0.900 -1.28e+04 1.45e+04\n", + "HeatingQC_Fa -9062.8764 7877.315 -1.151 0.250 -2.45e+04 6389.671\n", + "HeatingQC_Gd -6535.2620 6982.768 -0.936 0.349 -2.02e+04 7162.495\n", + "HeatingQC_Po -1.086e+04 2.88e+04 -0.377 0.706 -6.74e+04 4.57e+04\n", + "HeatingQC_TA -8838.7969 6905.392 -1.280 0.201 -2.24e+04 4707.175\n", + "MiscFeature_Gar2 -8687.2562 2.47e+04 -0.352 0.725 -5.71e+04 3.97e+04\n", + "MiscFeature_Othr 9442.1477 2.54e+04 0.372 0.710 -4.04e+04 5.93e+04\n", + "MiscFeature_Shed 2599.9969 5174.003 0.503 0.615 -7549.595 1.27e+04\n", + "MiscFeature_TenC -587.3040 3.5e+04 -0.017 0.987 -6.93e+04 6.82e+04\n", + "Functional_Maj1 -631.3401 9975.986 -0.063 0.950 -2.02e+04 1.89e+04\n", + "Functional_Maj2 -1.239e+04 1.47e+04 -0.844 0.399 -4.12e+04 1.64e+04\n", + "Functional_Min1 8720.5900 7915.028 1.102 0.271 -6805.936 2.42e+04\n", + "Functional_Min2 7662.0976 7782.654 0.985 0.325 -7604.757 2.29e+04\n", + "Functional_Mod 1.12e+04 9883.880 1.133 0.257 -8187.242 3.06e+04\n", + "Functional_Sev -6.92e+04 3.04e+04 -2.274 0.023 -1.29e+05 -9492.305\n", + "Functional_Typ 2.021e+04 5874.803 3.440 0.001 8686.883 3.17e+04\n", + "==============================================================================\n", + "Omnibus: 402.204 Durbin-Watson: 1.960\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 35877.809\n", + "Skew: 0.024 Prob(JB): 0.00\n", + "Kurtosis: 27.285 Cond. No. 9.38e+16\n", + "==============================================================================\n", + "\n", + "Notes:\n", + "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", + "[2] The smallest eigenvalue is 9.05e-25. This might indicate that there are\n", + "strong multicollinearity problems or that the design matrix is singular.\n", + "\"\"\"" + ] + }, + "execution_count": 196, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "lrm = sm.OLS(y, X.dropna()).fit()\n", + "lrm.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 197, + "id": "e2778fc0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La media del error absoluto es: 19780.432020561762\n" + ] + } + ], + "source": [ + "predicted = lrm.predict(X_test)\n", + "print(f'La media del error absoluto es: {metrics.mean_absolute_error(y_test, predicted)}')" + ] + }, + { + "cell_type": "markdown", + "id": "ae4ac886", + "metadata": {}, + "source": [ + "De acuerdo a la R2 las variables utilizadas en nuestro modelo explican el 81.8% de la variación en precio. Dado que la R2adj está muy cerca de la R2 parece ser que no hay penalización por variables que no estén aportando a nuestro resultado. El valor 0 del F-statistic señala la probabilidad de que el efecto de las variables del modelo sobre la variable elegida sea 0.\n", + "\n", + "Los altos valores de P>|t| de las variables de Heating, MiscFeature, ExterCond, Functional y Neighborhood sugieren que estas no aportan al modelo por lo que podrían ser removidas para simplificarlo.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 198, + "id": "20b215bb", + "metadata": {}, + "outputs": [], + "source": [ + "df_var_b = df[df_corr.index]\n", + "cols = list(df_var_b)\n", + "cols.remove('GarageCars')\n", + "cols.append('SalePrice')\n", + "cols = [cols[-1]] + cols[:-1]\n", + "df_var_b = df[cols]" + ] + }, + { + "cell_type": "code", + "execution_count": 199, + "id": "01ba9fbc", + "metadata": {}, + "outputs": [], + "source": [ + "df_dummies_b = pd.get_dummies(df[['LandContour', 'Utilities', 'HeatingQC']])" + ] + }, + { + "cell_type": "code", + "execution_count": 200, + "id": "e56c5691", + "metadata": {}, + "outputs": [], + "source": [ + "df_var_b=df_var_b.join(df_dummies_b)" + ] + }, + { + "cell_type": "code", + "execution_count": 201, + "id": "14f255d6", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
OLS Regression Results
Dep. Variable: SalePrice R-squared: 0.772
Model: OLS Adj. R-squared: 0.769
Method: Least Squares F-statistic: 348.6
Date: Tue, 08 Feb 2022 Prob (F-statistic): 0.00
Time: 18:05:05 Log-Likelihood: -17466.
No. Observations: 1460 AIC: 3.496e+04
Df Residuals: 1445 BIC: 3.504e+04
Df Model: 14
Covariance Type: nonrobust
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
coef std err t P>|t| [0.025 0.975]
const -5.305e+04 1.1e+04 -4.832 0.000 -7.46e+04 -3.15e+04
OverallQual 2.289e+04 1118.814 20.462 0.000 2.07e+04 2.51e+04
GrLivArea 44.4796 2.923 15.215 0.000 38.745 50.214
GarageArea 50.4310 6.042 8.346 0.000 38.578 62.284
TotalBsmtSF 19.4501 4.275 4.550 0.000 11.065 27.835
1stFlrSF 14.6049 4.979 2.933 0.003 4.838 24.372
FullBath 714.2958 2488.031 0.287 0.774 -4166.243 5594.834
LandContour_Bnk -4.001e+04 5051.950 -7.920 0.000 -4.99e+04 -3.01e+04
LandContour_HLS 573.7855 5434.711 0.106 0.916 -1.01e+04 1.12e+04
LandContour_Low 5833.9635 5918.345 0.986 0.324 -5775.505 1.74e+04
LandContour_Lvl -1.944e+04 3522.973 -5.519 0.000 -2.64e+04 -1.25e+04
Utilities_AllPub -1.232e+04 1.44e+04 -0.854 0.393 -4.06e+04 1.6e+04
Utilities_NoSeWa -4.073e+04 2.42e+04 -1.683 0.093 -8.82e+04 6754.309
HeatingQC_Ex 2513.1501 7467.244 0.337 0.737 -1.21e+04 1.72e+04
HeatingQC_Fa -1.114e+04 8460.562 -1.317 0.188 -2.77e+04 5451.527
HeatingQC_Gd -9172.1442 7479.523 -1.226 0.220 -2.38e+04 5499.740
HeatingQC_Po -2.297e+04 3.14e+04 -0.731 0.465 -8.46e+04 3.86e+04
HeatingQC_TA -1.227e+04 7397.664 -1.659 0.097 -2.68e+04 2239.993
\n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "\n", + " \n", + "\n", + "
Omnibus: 441.770 Durbin-Watson: 1.987
Prob(Omnibus): 0.000 Jarque-Bera (JB): 45225.517
Skew: -0.308 Prob(JB): 0.00
Kurtosis: 30.259 Cond. No. 3.04e+19


Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The smallest eigenvalue is 8.61e-30. This might indicate that there are
strong multicollinearity problems or that the design matrix is singular." + ], + "text/plain": [ + "\n", + "\"\"\"\n", + " OLS Regression Results \n", + "==============================================================================\n", + "Dep. Variable: SalePrice R-squared: 0.772\n", + "Model: OLS Adj. R-squared: 0.769\n", + "Method: Least Squares F-statistic: 348.6\n", + "Date: Tue, 08 Feb 2022 Prob (F-statistic): 0.00\n", + "Time: 18:05:05 Log-Likelihood: -17466.\n", + "No. Observations: 1460 AIC: 3.496e+04\n", + "Df Residuals: 1445 BIC: 3.504e+04\n", + "Df Model: 14 \n", + "Covariance Type: nonrobust \n", + "====================================================================================\n", + " coef std err t P>|t| [0.025 0.975]\n", + "------------------------------------------------------------------------------------\n", + "const -5.305e+04 1.1e+04 -4.832 0.000 -7.46e+04 -3.15e+04\n", + "OverallQual 2.289e+04 1118.814 20.462 0.000 2.07e+04 2.51e+04\n", + "GrLivArea 44.4796 2.923 15.215 0.000 38.745 50.214\n", + "GarageArea 50.4310 6.042 8.346 0.000 38.578 62.284\n", + "TotalBsmtSF 19.4501 4.275 4.550 0.000 11.065 27.835\n", + "1stFlrSF 14.6049 4.979 2.933 0.003 4.838 24.372\n", + "FullBath 714.2958 2488.031 0.287 0.774 -4166.243 5594.834\n", + "LandContour_Bnk -4.001e+04 5051.950 -7.920 0.000 -4.99e+04 -3.01e+04\n", + "LandContour_HLS 573.7855 5434.711 0.106 0.916 -1.01e+04 1.12e+04\n", + "LandContour_Low 5833.9635 5918.345 0.986 0.324 -5775.505 1.74e+04\n", + "LandContour_Lvl -1.944e+04 3522.973 -5.519 0.000 -2.64e+04 -1.25e+04\n", + "Utilities_AllPub -1.232e+04 1.44e+04 -0.854 0.393 -4.06e+04 1.6e+04\n", + "Utilities_NoSeWa -4.073e+04 2.42e+04 -1.683 0.093 -8.82e+04 6754.309\n", + "HeatingQC_Ex 2513.1501 7467.244 0.337 0.737 -1.21e+04 1.72e+04\n", + "HeatingQC_Fa -1.114e+04 8460.562 -1.317 0.188 -2.77e+04 5451.527\n", + "HeatingQC_Gd -9172.1442 7479.523 -1.226 0.220 -2.38e+04 5499.740\n", + "HeatingQC_Po -2.297e+04 3.14e+04 -0.731 0.465 -8.46e+04 3.86e+04\n", + "HeatingQC_TA -1.227e+04 7397.664 -1.659 0.097 -2.68e+04 2239.993\n", + "==============================================================================\n", + "Omnibus: 441.770 Durbin-Watson: 1.987\n", + "Prob(Omnibus): 0.000 Jarque-Bera (JB): 45225.517\n", + "Skew: -0.308 Prob(JB): 0.00\n", + "Kurtosis: 30.259 Cond. No. 3.04e+19\n", + "==============================================================================\n", + "\n", + "Notes:\n", + "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n", + "[2] The smallest eigenvalue is 8.61e-30. This might indicate that there are\n", + "strong multicollinearity problems or that the design matrix is singular.\n", + "\"\"\"" + ] + }, + "execution_count": 201, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X = df_var_b.dropna()\n", + "y = X.SalePrice\n", + "X = sm.add_constant(X.drop('SalePrice', axis=1))\n", + "sm.OLS(y, X.dropna()).fit()\n", + "lrm = sm.OLS(y, X.dropna()).fit()\n", + "lrm.summary()" + ] + }, + { + "cell_type": "code", + "execution_count": 204, + "id": "900266c8", + "metadata": {}, + "outputs": [], + "source": [ + "X_train_b, X_test_b, y_train_b, y_test_b = train_test_split(X, y, random_state = 22, test_size=0.2)" + ] + }, + { + "cell_type": "code", + "execution_count": 206, + "id": "1c95802e", + "metadata": {}, + "outputs": [], + "source": [ + "predicted = lrm.predict(X_test_b)" + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "id": "a0d4f257", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "La media del error absoluto del modelo b es: 22966.46547708684\n" + ] + } + ], + "source": [ + "predicted = lrm.predict(X_test_b)\n", + "print(f'La media del error absoluto del modelo b es: {metrics.mean_absolute_error(y_test, predicted)}')" + ] + }, + { + "cell_type": "markdown", + "id": "eb8b951b", + "metadata": {}, + "source": [ + "Aunque al retirar las variables antes descritas se logra un modelo más simple, el grado de predictibilidad del modelo cayó cerca del 4%. Sin embargo la media del error absoluto es más grande en el modelo b. La elección del modelo final dependerá de la disponibilidad de la información, pero el modelo a es más certero." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}