0% encontró este documento útil (0 votos)
106 vistas13 páginas

Análisis de Regresión Lineal Simple

El documento presenta un análisis exploratorio de datos (EDA) para regresión lineal simple utilizando diferentes tipos de datos: de corte transversal, serie de tiempo y panel. Para los datos de corte transversal, se encontró una correlación positiva entre el PBI per cápita y la expectativa de vida. Para los datos de serie de tiempo del Perú, existe una alta correlación entre el PBI y el consumo. Finalmente, los datos de panel incluyen información sobre PBI per cápita, población y expectativa de vida para diferentes países y años.

Cargado por

Marlon Alejdro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
106 vistas13 páginas

Análisis de Regresión Lineal Simple

El documento presenta un análisis exploratorio de datos (EDA) para regresión lineal simple utilizando diferentes tipos de datos: de corte transversal, serie de tiempo y panel. Para los datos de corte transversal, se encontró una correlación positiva entre el PBI per cápita y la expectativa de vida. Para los datos de serie de tiempo del Perú, existe una alta correlación entre el PBI y el consumo. Finalmente, los datos de panel incluyen información sobre PBI per cápita, población y expectativa de vida para diferentes países y años.

Cargado por

Marlon Alejdro
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Sesion 1: Regresion lineal simple

Sergio Diaz

2023-06-03

1. Analisis exploratorio de datos(EDA)


Antes de iniciar cualquier analisis econometrico debemos comenzar explorando el data frame, aunque hay
elementos en comun debemos comenzar identificando el tipo de dato que estamos analizando.

• Corte transversal
• Serie de tiempo
• Datos de panel

complementariamente deberemos revisar tambien:

• Valores atipicos
• Valores faltantes
• Matriz de correlacion

1.1 Datos de corte transversal

df_corte <- [Link]("[Link]

El objeto df_corte es un data frame con informacion de la poblacion, pbipercapita y expectativa de vida
en diversos paises del mundo.

1.1.1 Valores atipicos y faltantes

summary(df_corte)

## country continent pop gdpPercap


## Length:142 Length:142 Min. :1.996e+05 Min. : 277.6
## Class :character Class :character 1st Qu.:4.508e+06 1st Qu.: 1624.8
## Mode :character Mode :character Median :1.052e+07 Median : 6124.4
## Mean :4.402e+07 Mean :11680.1
## 3rd Qu.:3.121e+07 3rd Qu.:18008.8
## Max. :1.319e+09 Max. :49357.2
## lifeExp
## Min. :39.61

1
## 1st Qu.:57.16
## Median :71.94
## Mean :67.01
## 3rd Qu.:76.41
## Max. :82.60

1.1.2 Matriz de correlacion

Aqui se aplico la funcion subset para seleccionar columnas, el criterio de seleccion se llevo a cabo por la
funcion apply bajo la respuesta de si la columna es o no de formato numerico.

df_corte_num <- subset(df_corte, select = sapply(df_corte, [Link]))


cor(df_corte_num)

## pop gdpPercap lifeExp


## pop 1.00000000 -0.0556756 0.04755312
## gdpPercap -0.05567560 1.0000000 0.67866240
## lifeExp 0.04755312 0.6786624 1.00000000

Este resultado sugiere una relacion entre la expectativa de vida y el pbi percapita.

1.1.3 Matriz de dispercion

[Link](df_corte_num, pch=21)

0 10000 30000 50000

pop

8.0e+08
−0.06 0.05
0.0e+00
50000

gdpPercap
0.68
20000
0

40 50 60 70 80

lifeExp

0.0e+00 6.0e+08 1.2e+09 40 50 60 70 80

2
1.2 Datos de Series de tiempo

df_series <- [Link]("[Link]

El objeto df_series es un data frame con informacion de los componentes del PBI de Peru.

1.2.1 Valores atipicos y faltantes

summary(df_series)

## t Consumo Gasto Inversion


## Length:92 Min. :34942 Min. : 5443 Min. : 5664
## Class :character 1st Qu.:42382 1st Qu.: 7489 1st Qu.:13068
## Mode :character Median :63592 Median :10742 Median :25434
## Mean :62684 Mean :11337 Mean :21898
## 3rd Qu.:80647 3rd Qu.:13787 3rd Qu.:30160
## Max. :96327 Max. :23551 Max. :36006
## Exportaciones Importaciones PBI
## Min. :13624 Min. : 9847 Min. : 51760
## 1st Qu.:22024 1st Qu.:14185 1st Qu.: 70735
## Median :27691 Median :26988 Median :100821
## Mean :26913 Mean :23876 Mean : 98955
## 3rd Qu.:31496 3rd Qu.:32070 3rd Qu.:125322
## Max. :39290 Max. :36453 Max. :149423

1.2.2 Matriz de correlacion

Aqui se aplico la funcion subset para seleccionar columnas, el criterio de seleccion se llevo a cabo por la
funcion apply bajo la respuesta de si la columna es o no de formato numerico.

df_series_num <- subset(df_series, select = sapply(df_series, [Link]))


cor(df_series_num)

## Consumo Gasto Inversion Exportaciones Importaciones


## Consumo 1.0000000 0.8956594 0.9057511 0.9195659 0.9645083
## Gasto 0.8956594 1.0000000 0.8252331 0.8755439 0.8712655
## Inversion 0.9057511 0.8252331 1.0000000 0.8807637 0.9663930
## Exportaciones 0.9195659 0.8755439 0.8807637 1.0000000 0.9378032
## Importaciones 0.9645083 0.8712655 0.9663930 0.9378032 1.0000000
## PBI 0.9886638 0.9282907 0.9363290 0.9517672 0.9740907
## PBI
## Consumo 0.9886638
## Gasto 0.9282907
## Inversion 0.9363290
## Exportaciones 0.9517672
## Importaciones 0.9740907
## PBI 1.0000000

Este resultado sugiere una relacion entre el PBI y el consumo.

3
1.2.3 Matriz de dispercion

[Link](df_series_num, pch=21)

5000 15000 15000 30000 60000 120000

Consumo
0.90 0.91 0.92 0.96 0.99

40000
Gasto
0.83 0.88 0.87 0.93
5000

35000
Inversion
0.88 0.97 0.94

5000
Exportaciones
0.94 0.95
15000

Importaciones
0.97

10000
PBI
60000

40000 80000 5000 25000 10000 25000

1.2.4 Comportamiento de la serie

plot(df_series_num$PBI,type="l",col="red", ylim = c(0, max(df_series$PBI)))


lines(df_series_num$Consumo,col="blue")

4
150000
df_series_num$PBI

100000
50000
0

0 20 40 60 80

Index

1.3 Datos de panel

df_panel <- [Link]("[Link]

El objeto df_series es un data frame con informacion de PBI percapita, poblacion y expectativa de vida
para varios años.

table(df_panel$country,df_panel$continent)

##
## Africa Americas Asia Europe Oceania
## Afghanistan 0 0 12 0 0
## Albania 0 0 0 12 0
## Algeria 12 0 0 0 0
## Angola 12 0 0 0 0
## Argentina 0 12 0 0 0
## Australia 0 0 0 0 12
## Austria 0 0 0 12 0
## Bahrain 0 0 12 0 0
## Bangladesh 0 0 12 0 0
## Belgium 0 0 0 12 0
## Benin 12 0 0 0 0
## Bolivia 0 12 0 0 0

5
## Bosnia and Herzegovina 0 0 0 12 0
## Botswana 12 0 0 0 0
## Brazil 0 12 0 0 0
## Bulgaria 0 0 0 12 0
## Burkina Faso 12 0 0 0 0
## Burundi 12 0 0 0 0
## Cambodia 0 0 12 0 0
## Cameroon 12 0 0 0 0
## Canada 0 12 0 0 0
## Central African Republic 12 0 0 0 0
## Chad 12 0 0 0 0
## Chile 0 12 0 0 0
## China 0 0 12 0 0
## Colombia 0 12 0 0 0
## Comoros 12 0 0 0 0
## Congo, Dem. Rep. 12 0 0 0 0
## Congo, Rep. 12 0 0 0 0
## Costa Rica 0 12 0 0 0
## Cote d’Ivoire 12 0 0 0 0
## Croatia 0 0 0 12 0
## Cuba 0 12 0 0 0
## Czech Republic 0 0 0 12 0
## Denmark 0 0 0 12 0
## Djibouti 12 0 0 0 0
## Dominican Republic 0 12 0 0 0
## Ecuador 0 12 0 0 0
## Egypt 12 0 0 0 0
## El Salvador 0 12 0 0 0
## Equatorial Guinea 12 0 0 0 0
## Eritrea 12 0 0 0 0
## Ethiopia 12 0 0 0 0
## Finland 0 0 0 12 0
## France 0 0 0 12 0
## Gabon 12 0 0 0 0
## Gambia 12 0 0 0 0
## Germany 0 0 0 12 0
## Ghana 12 0 0 0 0
## Greece 0 0 0 12 0
## Guatemala 0 12 0 0 0
## Guinea 12 0 0 0 0
## Guinea-Bissau 12 0 0 0 0
## Haiti 0 12 0 0 0
## Honduras 0 12 0 0 0
## Hong Kong, China 0 0 12 0 0
## Hungary 0 0 0 12 0
## Iceland 0 0 0 12 0
## India 0 0 12 0 0
## Indonesia 0 0 12 0 0
## Iran 0 0 12 0 0
## Iraq 0 0 12 0 0
## Ireland 0 0 0 12 0
## Israel 0 0 12 0 0
## Italy 0 0 0 12 0
## Jamaica 0 12 0 0 0

6
## Japan 0 0 12 0 0
## Jordan 0 0 12 0 0
## Kenya 12 0 0 0 0
## Korea, Dem. Rep. 0 0 12 0 0
## Korea, Rep. 0 0 12 0 0
## Kuwait 0 0 12 0 0
## Lebanon 0 0 12 0 0
## Lesotho 12 0 0 0 0
## Liberia 12 0 0 0 0
## Libya 12 0 0 0 0
## Madagascar 12 0 0 0 0
## Malawi 12 0 0 0 0
## Malaysia 0 0 12 0 0
## Mali 12 0 0 0 0
## Mauritania 12 0 0 0 0
## Mauritius 12 0 0 0 0
## Mexico 0 12 0 0 0
## Mongolia 0 0 12 0 0
## Montenegro 0 0 0 12 0
## Morocco 12 0 0 0 0
## Mozambique 12 0 0 0 0
## Myanmar 0 0 12 0 0
## Namibia 12 0 0 0 0
## Nepal 0 0 12 0 0
## Netherlands 0 0 0 12 0
## New Zealand 0 0 0 0 12
## Nicaragua 0 12 0 0 0
## Niger 12 0 0 0 0
## Nigeria 12 0 0 0 0
## Norway 0 0 0 12 0
## Oman 0 0 12 0 0
## Pakistan 0 0 12 0 0
## Panama 0 12 0 0 0
## Paraguay 0 12 0 0 0
## Peru 0 12 0 0 0
## Philippines 0 0 12 0 0
## Poland 0 0 0 12 0
## Portugal 0 0 0 12 0
## Puerto Rico 0 12 0 0 0
## Reunion 12 0 0 0 0
## Romania 0 0 0 12 0
## Rwanda 12 0 0 0 0
## Sao Tome and Principe 12 0 0 0 0
## Saudi Arabia 0 0 12 0 0
## Senegal 12 0 0 0 0
## Serbia 0 0 0 12 0
## Sierra Leone 12 0 0 0 0
## Singapore 0 0 12 0 0
## Slovak Republic 0 0 0 12 0
## Slovenia 0 0 0 12 0
## Somalia 12 0 0 0 0
## South Africa 12 0 0 0 0
## Spain 0 0 0 12 0
## Sri Lanka 0 0 12 0 0

7
## Sudan 12 0 0 0 0
## Swaziland 12 0 0 0 0
## Sweden 0 0 0 12 0
## Switzerland 0 0 0 12 0
## Syria 0 0 12 0 0
## Taiwan 0 0 12 0 0
## Tanzania 12 0 0 0 0
## Thailand 0 0 12 0 0
## Togo 12 0 0 0 0
## Trinidad and Tobago 0 12 0 0 0
## Tunisia 12 0 0 0 0
## Turkey 0 0 0 12 0
## Uganda 12 0 0 0 0
## United Kingdom 0 0 0 12 0
## United States 0 12 0 0 0
## Uruguay 0 12 0 0 0
## Venezuela 0 12 0 0 0
## Vietnam 0 0 12 0 0
## West Bank and Gaza 0 0 12 0 0
## Yemen, Rep. 0 0 12 0 0
## Zambia 12 0 0 0 0
## Zimbabwe 12 0 0 0 0

1.3.1 Valores atipicos y faltantes

summary(df_panel)

## country continent year pop


## Length:1704 Length:1704 Min. :1952 Min. :6.001e+04
## Class :character Class :character 1st Qu.:1966 1st Qu.:2.794e+06
## Mode :character Mode :character Median :1980 Median :7.024e+06
## Mean :1980 Mean :2.960e+07
## 3rd Qu.:1993 3rd Qu.:1.959e+07
## Max. :2007 Max. :1.319e+09
## gdpPercap lifeExp
## Min. : 241.2 Min. :23.60
## 1st Qu.: 1202.1 1st Qu.:48.20
## Median : 3531.8 Median :60.71
## Mean : 7215.3 Mean :59.47
## 3rd Qu.: 9325.5 3rd Qu.:70.85
## Max. :113523.1 Max. :82.60

1.3.2 Matriz de correlacion

Aqui se aplico la funcion subset para seleccionar columnas, el criterio de seleccion se llevo a cabo por la
funcion apply bajo la respuesta de si la columna es o no de formato numerico.

df_panel_num <- subset(df_panel, select = sapply(df_panel, [Link]))


cor(df_panel_num)

## year pop gdpPercap lifeExp

8
## year 1.00000000 0.08230808 0.22731807 0.43561122
## pop 0.08230808 1.00000000 -0.02559958 0.06495537
## gdpPercap 0.22731807 -0.02559958 1.00000000 0.58370622
## lifeExp 0.43561122 0.06495537 0.58370622 1.00000000

Este resultado sugiere una relacion entre el pbi percapita y la expectativa de vida.

1.3.3 Matriz de dispercion

[Link](df_panel_num, pch=21)

0.0e+00 6.0e+08 1.2e+09 30 50 70

year

1980
0.08 0.23 0.44

1950
0.0e+00 1.0e+09

pop
−0.03 0.06
gdpPercap

8e+04
0.58

0e+00
lifeExp
30 50 70

1950 1970 1990 0e+00 6e+04

1.3.4 Dimencion de los datos

Las variables en los datos de panel se veen como un desarrollo de varias unidades en el tiempo.

dcast(df_panel[df_panel$continent=="Oceania",],formula = "country ~ year",[Link] = "lifeExp")

## country 1952 1957 1962 1967 1972 1977 1982 1987 1992 1997 2002
## 1 Australia 69.12 70.33 70.93 71.10 71.93 73.49 74.74 76.32 77.56 78.83 80.37
## 2 New Zealand 69.39 70.26 71.24 71.52 71.89 72.22 73.84 74.32 76.33 77.55 79.11
## 2007
## 1 81.235
## 2 80.204

9
dcast(df_panel[df_panel$continent=="Oceania",],formula = "country ~ year",[Link] = "gdpPercap")

## country 1952 1957 1962 1967 1972 1977 1982


## 1 Australia 10039.60 10949.65 12217.23 14526.12 16788.63 18334.20 19477.01
## 2 New Zealand 10556.58 12247.40 13175.68 14463.92 16046.04 16233.72 17632.41
## 1987 1992 1997 2002 2007
## 1 21888.89 23424.77 26997.94 30687.75 34435.37
## 2 19007.19 18363.32 21050.41 23189.80 25185.01

2. Regresion lineal simple

2.1 Corte transversal

2.1.1 Modelo

lif eexpi = β0 + β1 gdpP ercapi

m_corte <- lm(lifeExp ~ gdpPercap,df_corte)


summary(m_corte)

##
## Call:
## lm(formula = lifeExp ~ gdpPercap, data = df_corte)
##
## Residuals:
## Min 1Q Median 3Q Max
## -22.828 -6.316 1.922 6.898 13.128
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.957e+01 1.010e+00 58.95 <2e-16 ***
## gdpPercap 6.371e-04 5.827e-05 10.93 <2e-16 ***
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
##
## Residual standard error: 8.899 on 140 degrees of freedom
## Multiple R-squared: 0.4606, Adjusted R-squared: 0.4567
## F-statistic: 119.5 on 1 and 140 DF, p-value: < 2.2e-16

2.1.2 Linea

plot(df_corte$gdpPercap,df_corte$lifeExp)
abline(m_corte, col = "red")

10
80
70
df_corte$lifeExp

60
50
40

0 10000 20000 30000 40000 50000

df_corte$gdpPercap

2.2 Corte transversal

2.2.1 Modelo

Consumot = β0 + β1 P BIt

m_series <- lm(Consumo ~ PBI,df_series)


summary(m_series)

##
## Call:
## lm(formula = Consumo ~ PBI, data = df_series)
##
## Residuals:
## Min 1Q Median 3Q Max
## -5380.3 -2155.3 330.8 1925.3 9203.9
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.684e+03 1.075e+03 -1.567 0.121
## PBI 6.505e-01 1.041e-02 62.468 <2e-16 ***
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
##

11
## Residual standard error: 2947 on 90 degrees of freedom
## Multiple R-squared: 0.9775, Adjusted R-squared: 0.9772
## F-statistic: 3902 on 1 and 90 DF, p-value: < 2.2e-16

2.2.2 Linea

plot(df_series$PBI,df_series$Consumo)
abline(m_series, col = "red")
80000
df_series$Consumo

60000
40000

60000 80000 100000 120000 140000

df_series$PBI

2.3 Corte transversal

2.3.1 Modelo

lif eexpit = β0 + β1 gdpP ercapit

m_panel <- lm(lifeExp ~ gdpPercap,df_panel)


summary(m_panel)

##
## Call:
## lm(formula = lifeExp ~ gdpPercap, data = df_panel)
##

12
## Residuals:
## Min 1Q Median 3Q Max
## -82.754 -7.758 2.176 8.225 18.426
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.396e+01 3.150e-01 171.29 <2e-16 ***
## gdpPercap 7.649e-04 2.579e-05 29.66 <2e-16 ***
## ---
## Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
##
## Residual standard error: 10.49 on 1702 degrees of freedom
## Multiple R-squared: 0.3407, Adjusted R-squared: 0.3403
## F-statistic: 879.6 on 1 and 1702 DF, p-value: < 2.2e-16

2.3.2 Linea

plot(df_panel$gdpPercap,df_panel$lifeExp)
abline(m_panel, col = "red")
80
70
df_panel$lifeExp

60
50
40
30

0e+00 2e+04 4e+04 6e+04 8e+04 1e+05

df_panel$gdpPercap

13

También podría gustarte