• No se han encontrado resultados

ANÁLISIS DE DATOS CON STATA (Manejo de base de datos) Fortino Vela Peón Agosto, 2011

N/A
N/A
Protected

Academic year: 2022

Share "ANÁLISIS DE DATOS CON STATA (Manejo de base de datos) Fortino Vela Peón Agosto, 2011"

Copied!
40
0
0

Texto completo

(1)

CON STATA

(Manejo de base de datos)

Fortino Vela Peón

[email protected]

Agosto, 2011

(2)

 Las bases de datos económicos pueden ser de diversos tipos:

1. Corte transversal (cross section).

2. Series de Tiempo (time series)

3. Combinación de cortes transversales (pooling cross section)

4. Datos panel (panel data)

 Las características particulares de cada tipo de datos deben ser consideradas a fin sacar provecho del análisis que se realizara de estos datos.

Introducción

(3)

 “Una base de datos de corte transversal consiste en una muestra de individuos, hogares, empresas, ciudades, estados, países u otras unidades, tomada en algún punto dado en el tiempo” (Wooldrige, 2010: 5).

 Una de sus características más importantes radica que, en muchas ocasiones, se obtienen de un proceso de muestreo aleatorio.

 Constituye el tipo de datos con el que se inicia el estudio del análisis econométrico.

Corte transversal

(4)

Fuente: Tomado de Wooldridge, 2010: 7.

(5)

 “Una base de datos de series de tiempo consiste de las observaciones de una o varias variables a lo largo del tiempo” (Wooldrige, 2010: 8).

 Una de sus características más importantes radica que, rara vez, puede suponerse que las observaciones sean independientes del tiempo.

 Constituye el tipo de datos más común en la economía y su estudio es más complejo.

Series de tiempo

(6)

Fuente: Tomado de Wooldridge, 2010: 9.

(7)

 Al resultado de combinar diferentes cortes transversales se le da el nombre de una base de datos pooling.

 Permite ampliar el tamaño de la muestra.

 Constituye el tipo de datos que permite analizar los efectos de los cambios en políticas públicas al observar las diferencias que presentan las variables en el tiempo.

Combinación de cortes transversales

(8)

Datos panel

 “Un conjunto de datos de panel (o longitudinal) consiste en una serie de tiempo por cada unidad de una base de datos de corte transversal”

(Wooldrige, 2010: 10).

 Su característica que los distingue de las

combinaciones de cortes transversales, es que

durante un intervalo de tiempo se siguen a las

mismas unidades de observación de un corte

transversal.

(9)

Fuente: Tomado de Wooldridge, 2010: 9.

(10)

 Las bases de datos se han constituido en una de las herramientas más ampliamente difundidas en la actual sociedad de la información en todos los campos del conocimiento.

 Dada la variedad de tópicos –en diferentes niveles de análisis- que se captan en una base de datos está puede estar conformada por un conjunto de archivos en los que se distribuye la información obtenida de acuerdo con los temas considerados.

Las bases de datos

(11)

 Existen cuatro comandos (métodos) para combinar bases de datos:

1. Añadiendo (appending).

2. Combinando (merging)

3. Juntando (joining)

4. Cruzando (crossing)

 La versión 11 introduce una nueva sintaxis para el comando merge.

Combinando bases de datos 1/

1/

Para estas notas es necesario obtener los archivos de datos dmus1 y dmus2 de net from http://www.stata-press.com/data/dmus,

en la forma net get dmus1 y net get dmus2. De igual manera, se requiere obtener de net from http://www.stata-

press.com/data/kk2, los archivos net get data y net get kksoep.

(12)

 Los comandos más utilizados son append y merge .

 Para nuestros fines, inicialmente podemos considerar a una base de datos (archivo) como un arreglo rectangular entre observaciones (renglones) y variables (columnas).

 append añade observaciones (renglones) a una base de datos.

 merge se agregan variables (columnas) a

una base de datos.

(13)

… 5 4 3 2 1

var1 id

… 10 9 8 7 6

var1 id

archivo 1 archivo 2

… 5 4 3 2 1

var1 id

… 5 4 3 2 1

var2 id

archivo 3 archivo 4

Bases de datos en diferentes situaciones

… 5 4 3 2 1

var1 id

… 3 5 10

9 1

var2 id

archivo 5 archivo 6

… 2 2 1 1 1

var1 id

… 5 4 3 2 1

var2 id

archivo 7 archivo 8

(hogares) (individuos)

Caso 1: añadir observaciones

Caso 2: combinar variables

Caso 3: seguir observaciones y combinar variables

Caso 4: agregar obs. y añadir var. diferentes niveles

(14)

Merge: one-to-one-match merging

 El procedimiento match-merge combina dos bases de datos (archivos) empleando una o más variables clave para integrar a las observaciones entre las dos bases (Mitchell, 2010:189).

 La(s) variable(s) clave identifica(n) a cada observación en cada base de datos.

 Las ilustraciones siguientes emplean bases de

datos pequeñas pero el funcionamiento es

similar con bases de datos de mayor tamaño.

(15)

 Considere moms1.dta y dads1.dta .

use moms1 list

use dads1 list

use moms1

merge 1:1 famid using dads1 list

variable clave

Nota: Recuerde obtener los archivos de datos dmus1 y dmus2 de:

net from http://www.stata-press.com/data/dmus net get dmus1

net get dmus2

(16)

|---|

1. | 1 33 2 1 | 2. | 2 28 1 1 | 3. | 3 24 2 1 | 4. | 4 21 1 0 | +---+

+---+

| famid dage drace dhs |

|---|

1. | 1 21 1 0 | 2. | 2 25 1 1 | 3. | 3 31 2 1 | 4. | 4 25 2 1 | +---+

Result # of obs.

---

not matched 0

matched 4 (_merge==3)

---

+---+

| famid mage mrace mhs dage drace dhs _merge |

|---|

1. | 1 33 2 1 21 1 0 matched (3) | 2. | 2 28 1 1 25 1 1 matched (3) | 3. | 3 24 2 1 31 2 1 matched (3) | 4. | 4 21 1 0 25 2 1 matched (3) | +---+

use moms1 list

use dads1 list

merge 1:1 famid using dads1

list

(17)

Result # of obs.

---

not matched 0

matched 4 (_merge==3)

---

 El listado denominado Result confirma que, al utilizar el comando merge , cada observación de moms1.dta fue integrado a dads1.dta .

 Con list podemos apreciar que la variable clave famid (identificador del hogar) ha permitido combinar a las variables de los dos archivos: dmoms1.dta y dads1.dta .

+---+

| famid mage mrace mhs dage drace dhs _merge |

|---|

1. | 1 33 2 1 21 1 0 matched (3) | 2. | 2 28 1 1 25 1 1 matched (3) | 3. | 3 24 2 1 31 2 1 matched (3) | 4. | 4 21 1 0 25 2 1 matched (3) | +---+

(18)

 En el lenguaje del comando merge de Stata, moms1.dta es la master dataset, dads1.dta es la using dataset y famid es la key variable.

 ¿Qué si algunas observaciones “no empatan” en los archivos?

 Veamos un segundo ejemplo.

(19)

 Considere moms2.dta y dads2.dta .

use moms2 list

use dads2 list

use moms2

merge 1:1 famid using dads2 list

+---+

| famid mage mrace mhs fr_moms2 |

|---|

1. | 1 33 2 1 1 |

2. | 3 24 2 1 1 |

3. | 4 21 1 0 1 |

4. | 5 39 2 0 1 |

+---+ +---+ | famid dage drace dhs fr_dads2 | |---| 1. | 1 21 1 0 1 |

2. | 2 25 1 1 1 |

3. | 4 25 2 1 1 | +---+

(20)

 El comando merge resume la forma en que se realizo el empate de las observaciones.

 Se puede observar que las familias 3 y 5 tienen datos para moms2.dta pero no para dads2.dta .

---

not matched 3

from master 2 (_merge==1)

from using 1 (_merge==2)

matched 2 (_merge==3)

---

+---+

| famid mage mrace mhs fr_moms2 dage drace dhs fr_dads2 _merge |

|---|

1. | 1 33 2 1 1 21 1 0 1 matched (3) | 2. | 3 24 2 1 1 . . . . master only (1) | 3. | 4 21 1 0 1 25 2 1 1 matched (3) | 4. | 5 39 2 0 1 . . . . master only (1) | 5. | 2 . . . . 25 1 1 1 using only (2) | +---+

(21)

Merging: one-to-many match merging

 El procedimiento 1:1 merge combino uno a uno las observaciones de dos bases de datos (archivos) empleando una variable clave.

 En contraste cuando se combinan madres e hijos es claro que una madre puede tener más de un hijo lo que da origen al procedimiento denominado one-to-many (uno a muchos).

 moms1.dta es 1 base de datos mientras que

kids1.dta es una base de datos m.

(22)

 Considere moms1.dta y kids1.dta .

use moms1 list

use kids1

list

+---+

| famid mage mrace mhs |

|---|

1. | 1 33 2 1 | 2. | 2 28 1 1 | 3. | 3 24 2 1 | 4. | 4 21 1 0 | +---+

+---+

| famid kidid kage kfem |

|---|

1. | 3 1 4 1 | 2. | 3 2 7 0 | 3. | 2 1 8 0 | 4. | 2 2 3 1 | 5. | 4 1 1 0 |

|---|

6. | 4 2 3 0 | 7. | 4 3 7 0 | 8. | 1 1 3 1 | +---+

(23)

 La variable clave es famid.

 Se puede observar que la madre de la familia 1 solo tiene un hijo pero la de la familia 4 tiene 3 hijos.

+---+

| famid kidid kage kfem |

|---|

1. | 3 1 4 1 | 2. | 3 2 7 0 | 3. | 2 1 8 0 | 4. | 2 2 3 1 | 5. | 4 1 1 0 |

|---|

6. | 4 2 3 0 | 7. | 4 3 7 0 | 8. | 1 1 3 1 | +---+

 Se busca combinar las dos bases de datos

(las variables de manera que corresponda a la

misma familia)

(24)

 Siguiendo con la sintaxis se tiene

use moms1

merge 1:m famid using kids1

Result # of obs.

--- not matched 0 matched 8

(_merge==3)

---

 Se señala que todas las observaciones fueron

“empatadas” (match).

 Es posible ordenar la base de datos resultante

considerando las variables famid y kidid .

(25)

 Siguiendo con la sintaxis

sort famid kidid list, sepby(famid)

+---+

| famid mage mrace mhs kidid kage kfem _merge |

|---|

1. | 1 33 2 1 1 3 1 matched (3) |

|---|

2. | 2 28 1 1 1 8 0 matched (3) | 3. | 2 28 1 1 2 3 1 matched (3) |

|---|

4. | 3 24 2 1 1 4 1 matched (3) | 5. | 3 24 2 1 2 7 0 matched (3) |

|---|

6. | 4 21 1 0 1 1 0 matched (3) | 7. | 4 21 1 0 2 3 0 matched (3) | 8. | 4 21 1 0 3 7 0 matched (3) | +---+

 De esta manera, por ejemplo, se puede apreciar

que la madre de la familia 4 tiene tres hijos

donde su información se despliega en tres

ocasiones.

(26)

use moms2 list

use kids2 list

 ¿Qué sucede si los archivos no “empatan”

perfectamente?

 Veamos este caso:

+---+

| famid mage mrace mhs fr_moms2 |

|---|

1. | 1 33 2 1 1 |

2. | 3 24 2 1 1 |

3. | 4 21 1 0 1 |

4. | 5 39 2 0 1 |

+---+ +---+ | famid kidid kage kfem | |---| 1. | 2 2 3 1 |

2. | 2 1 8 0 |

3. | 3 2 7 0 |

4. | 3 1 4 1 |

5. | 4 2 3 0 |

|---| 6. | 4 3 7 0 |

7. | 4 1 1 0 | +---+

(27)

 Siguiendo con la sintaxis

use moms2

merge 1:m famid using kids2 list

Result # of obs.

--- not matched 4

from master 2 (_merge==1) from using 2 (_merge==2)

matched 5 (_merge==3) ---

 Los resultados señalan que 5 observaciones

fueron “empatadas” y 4 no lo fueron. Entre las

no empatadas 2 provienen del master dataset

y las otras 2 del using dataset.

(28)

 La base de datos combinada se puede ordenar de acuerdo a famid y kidid .

sort famid kidid list, sepby(famid)

+---+

| famid mage mrace mhs fr_moms2 kidid kage kfem _merge |

|---|

1. | 1 33 2 1 1 . . . master only (1) |

|---|

2. | 2 . . . . 1 8 0 using only (2) | 3. | 2 . . . . 2 3 1 using only (2) |

|---|

4. | 3 24 2 1 1 1 4 1 matched (3) | 5. | 3 24 2 1 1 2 7 0 matched (3) |

|---|

6. | 4 21 1 0 1 1 1 0 matched (3) | 7. | 4 21 1 0 1 2 3 0 matched (3) | 8. | 4 21 1 0 1 3 7 0 matched (3) |

|---|

9. | 5 39 2 0 1 . . . master only (1) | +---+

(29)

Merging: many-to-one match merging

 El procedimiento ilustrado anteriormente para el comando merge fue 1:m (one-to-many), pero Stata permite también combinar m:1 (many- to-one), en el cual el master dataset puede tener múltiples observaciones que empatar al using dataset en el cual la(s) variable(s) clave(s) identifican de manera única a cada observación.

 En concreto, para el ejemplo anterior, más que

combinar a las madres con los hijos, es posible

combinar a los hijos con las madres.

(30)

 La sintaxis sería entonces

use kids1

merge m:1 famid using moms1

Result # of obs.

--- not matched 0

matched 8 (_merge==3) ---

 Como se muestra a continuación, las variables

del archivo kids1.dta aparecen antes que las

del archivo moms1.dta debido a que

kids1.dta hace el papel de master dataset

y moms1.dta el de using dataset.

(31)

 Ordenando nuevamente por famid y kidid se tiene

sort famid kidid list, sepby(famid)

+---+

| famid kidid kage kfem mage mrace mhs _merge |

|---|

1. | 1 1 3 1 33 2 1 matched (3) |

|---|

2. | 2 1 8 0 28 1 1 matched (3) | 3. | 2 2 3 1 28 1 1 matched (3) |

|---|

4. | 3 1 4 1 24 2 1 matched (3) | 5. | 3 2 7 0 24 2 1 matched (3) |

|---|

6. | 4 1 1 0 21 1 0 matched (3) | 7. | 4 2 3 0 21 1 0 matched (3) | 8. | 4 3 7 0 21 1 0 matched (3) | +---+

(32)

¿Hacia donde vamos?

(33)

 Para algunas instituciones generadoras de información, una base de datos es “un conjunto de tablas con información de diferente tipo, las cuales se relacionan entre sí mediante campos de identificación que les son comunes y que sirven para poder vincularlas” (INEGI, 2007:1).

 Una tabla almacena datos de un tema en particular, en registros (filas) y campos (columnas).

ENOE

(34)

 La conformación de la base de datos de la Encuesta Nacional de Ocupación y Empleo (ENOE) lo hace de la siguiente manera:

1. Tabla de vivienda VIV 2. Tabla de hogares HOG

3. Tabla de Sociodemográfico SDEM

4. Tabla de cuestionario de ocupación y empleo I COE1

5. Tabla de cuestionario de ocupación y

empleo II COE2

(35)

 El nombre de las tablas de datos se hace añadiendo a las iniciales la letra T y un número a tres dígitos, el cual indica el trimestre y año de la información en cuestión.

 Así, por ejemplo, los nombres asignados para las cinco tablas que conforman la base de datos de la ENOE para el primer trimestre de 2005 son:

1. VIVT105.DBF

2. HOG T 105.DBF

3. SDEM T105 .DBF

4. COE1 T105 .DBF

5. COE2 T105 .DBF

(36)

 Cada tabla de ENOE contiene un número determinado de registros (entiéndase como registro, a cada renglón que existe en la tabla).

 La siguiente imagen representa la relación que

existe entre las tablas y sus registros

(37)

 Se interpreta; para cada vivienda existe uno o más hogares, para cada hogar existe uno o más residentes con sus características sociodemográficas, para cada residente con edad de 12 años cumplidos o más existe un cuestionario de ocupación y empleo.

 http://www.inegi.org.mx/sistemas/microdatos

2/encuestas.aspx?c=14439&s=est

(38)
(39)

Tabla

Terminología de una base de datos

Es la estructura básica de almacenamiento de una base de datos, consiste en una o más columnas y cero o más filas.

Fila

Es la combinación de los valores de las columnas en una tabla; una fila es comúnmente llamada registro.

Columna

Representa un tipo de datos en una tabla. Esta es descrita

con un nombre y contiene información de un tamaño y tipo

específico. También conocida como variable.

(40)

Campo

El campo puede contener información. Si no hay información en el campo, se dice que tiene un valor nulo (NULL).

Llave primaria (campo llave)

Identificador de la tabla que permite, mantener una

relación de pertenencia de información, además de ser

indispensable para poder relacionar dos o más tablas

si fuera necesario, cuando la unidad de análisis sean solo

los hogares y/o las viviendas.

Referencias

Documento similar

La base de datos contiene un gran número de campos de información repartidos en diversas tablas (secciones estratigráficas, niveles fosilíferos, ejemplares fósiles, taxones etc.),

Cuando se requiere buscar información almacenada dentro de la base de datos, de una forma rápida y sin buscar dentro de todos los registros de las tablas, se hace uso de las

Partiendo de los datos de configuración en base de datos vamos a tener que el servicio de Proxy puede prestar servicio a 1 o más interfaces de red y pudiendo ser diferente el tipo de

Base de Datos Relacional : Es un conjunto de una o más tablas estructuradas en registros (líneas) y campos (columnas), que se vinculan entre sí por un campo en común,

Esta Base de datos, presenta información sobre los eventos realizados en el municipio “San Antonio del SENA”, para la generación de informes sobre asistencia,

La nueva base de datos del CDC-UNALM cuenta con un diseño de más de 70 tablas relacionadas, en las cuales se puede almacenar diferentes tipos de información como las de

El resultado es la constitución de una base de datos de un conjunto significativo de los verbos del español que contiene información a dos niveles: por un lado, a nivel oracional

Este capítulo presenta el análisis descriptivo de la información recolectada en la base de datos, teniendo en cuenta que esta información es tipo de atractivo