Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Capítulo 1
En los siguientes capítulos se trabajará de manera interactiva con cada una de estas
ventanas
[prefix : ] command [varlist ] [if expr] [in] [weight] [using filename] [, options]
Donde:
▪ prefix: Permite repetir las ejecuciones de un determinado comando o modificar el
input y/o output de la base de datos.
▪ command: Indica el comando del STATA.
4
help language
clear all
set mem 10m
set more off
cd ""
log close
Figura 1.5: Esquema de un Proyecto de Trabajo
✓ Otras Fuentes:
http://www.stata.com/support
Incluye un resumen de lo que hace el STATA. En particular se recomienda ver la
parte de respuestas: FREQUENTLY ASKED QUESTION (FAQs).
http://www.ats.ucla.edu/stat/stata/
Provee diversos tutoriales y videos para aprender STATA.
Existen diversos comandos que sirven de ayuda para el manejo de STATA, entre
ellos se tienen:
help regress
search ols
hsearch: Busca una palabra clave en todos los archivos de ayuda (con
extensión *.sthlp o *.hlp). El inconveniente es que se necesita la palabra
clave completa. Ejemplo:
Una manera sencilla de realizar este procedimiento es a través del comando update
all, el cual permite actualizar una lista de archivos ado. Los archivos descargados
se guardan en la carpeta en donde se ubica el software. Para emplear este comando
escribimos la siguiente sintaxis:
update all
Otra de las formas más comunes para realizar este procedimiento es utilizar el
comando findit siempre y cuando se conozca el nombre del comando que se busca.
7
findit outreg2
Damos click en la opción click here to install y esperamos unos segundos a que se
instale el comando. El comando instalado se ubica por default en la ruta C:
\ado\plus como se puede apreciar en la siguiente figura:
8
Finalmente, hay que copiar las carpetas con nombres de letras, según como inicia
el nombre de cada uno de los comandos descargados, y pegarlos en el interior de
la carpeta base que se ubica dentro del software en la siguiente ruta C: \Archivos
de programa\Stata\ado\base.
Capítulo 2
2.1. El Do-File
STATA cuenta con una ventana que permite trabajar con una serie de comandos y
almacenarlos. Estos archivos son muy importantes por las siguientes razones:
Con respecto a las formas ejecutar los comandos en el Do-file, se puede hacer a
través del icono (execute do) ubicado en la parte superior derecha de la barra de
herramientas del archivo Do-File o presionando la secuencia Ctrl+D, una vez
sombreado el comando o la secuencia de comandos a ejecutar. Realizada esta
acción, se reflejarán los resultados en la ventana de resultados (Result View) del
STATA.
Ejemplo:
*******************************
** MI PRIMER DO FILE **
*******************************
*En este capítulo elaboraremos nuestro primer Do-File
/*
CURSO: ECONOMETRÍA
FACULTAD: ECONOMÍA
*/
1 Para saber cuáles son las diversas opciones que presenta el STATA para trabajar con diferentes tamaños de
base de datos recurra al comando help set eligiendo la opción memory o simplemente escriba help memory.
Sin embargo, para no establecer cualquier cifra para la memoria, Cameron & Trivedi recomiendan asignar una
cantidad de memoria igual a 1.5 veces el peso de la base de datos, con el fin de que el STATA no elimine variable
u observaciones, no disminuya el rendimiento de la computadora y pueda generar nuevas variables,
estimaciones, guardar gráficos, etc. Es decir, si la base de datos pesa 50m, entonces, deberá asignarse una
memoria de 75m (1.5 x (50m)).
11
E:\STATA13\STATA
Supongamos que en el disco D:\ creamos una carpeta con el nombre Econometría-
Stata la misma que va a servir para guardar nuestros trabajos, entonces, el nuevo
directorio se encontrará en la siguiente ruta D: \Econometria. Ahora, empleamos el
comando cd para cambiarnos al nuevo directorio creado, indicando la nueva ruta
entre comillas:
2 Para una descripción completa del funcionamiento de este comando puede escribir en la ventana de comando
help log.
3 Es importante usar siempre esta opción cuando se crea una bitácora para poder ejecutar el Do-File sin
problemas en posteriores sesiones. Si no se usa esta opción es probable que salga el siguiente error: log file
already open.
12
name: <unnamed>
log: D:\Econometria-Stata\primera_bitacora.smcl
log type: smcl
opened on: 14 Feb 2012, 00:15:43
name: <unnamed>
log: D:\Econometria-Stata\primera_bitacora.smcl
log type: smcl
paused on: 14 Feb 2012, 00:15:43
name: <unnamed>
log: D:\Econometria-Stata\primera_bitacora.smcl
log type: smcl
resumed on: 14 Feb 2012, 00:15:43
name: <unnamed>
log: D:\Econometria-Stata\primera_bitacora.smcl
log type: smcl
closed on: 14 Feb 2012, 00:15:43
13
name: <unnamed>
log: D:\Econometria-Stata\primera_bitacora.smcl
log type: smcl
opened on: 14 Feb 2012, 00:15:43
name: <unnamed>
log: D:\Econometria-Stata\primera_bitacora.smcl
log type: smcl
closed on: 14 Feb 2012, 00:15:43
ii. Siempre que se crea una bitácora, no se debe olvidar colocar al final de
la grabación el comando log close.
end
browse
Para observar la base de datos elaborada se debe hacer clic al icono (Data Editor
Browse) de la ventana principal del STATA o en su defecto escribir en la ventana
de comandos browse.
Existen diferentes formas de cargar una base de datos, ya sea en formato .dta o en
otros formatos (*.txt , *.xls , *.saw, etc).
Para abrir una base de datos desde la ventana principal del STATA debemos
acceder a la siguiente ruta: File - - > Open. Luego aparecerá un cuadro de diálogo
para buscar y elegir la base de datos que deseamos cargar en la memoria.
15
STATA cuenta con bases de datos dentro de su sistema como ejemplos aplicativos,
para cargar estas bases de datos se debe de emplear el comando sysuse.
Si se desea cargar una base de datos propia, basta con guardarlo en el directorio
actual que se está trabajando y cargarlo usando el comando use. En este caso,
cargaremos la base de datos denominada enaho01-2010-100.dta de la siguiente
manera:
En la parte inferior izquierda del entorno del STATA se apreciará las variables
que contiene la base de datos enaho01-2009-100.dta.
Para importar una base de datos dependerá del tipo de archivo con el cual estemos
trabajando. El comando compuesto insheet using lee bases proveniente de una
hoja de cálculo o bases de datos delimitadas por comas (*.csv) o delimitados por
tabulaciones (*.txt).
Para importar esta base de datos es importante mencionar que la primera fila de la
hoja de cálculo se registre el nombre de las variables de la forma más sencilla4. En
nuestro caso, el nombre de las variables ubicada en la primera fila será periodo e
igbvl, y a partir de la segunda fila se comienzan a registrar los datos.
4 Se recomienda designar un nombre corto y sin dejar espacios entre palabras. Además, la base de datos a
importar debe de comenzar desde la celda A1.
17
Por último, esta guía trabajará en parte con bases de datos proveniente de la
Encuesta Nacional de Hogares (ENAHO) que pueden ser descargados del Instituto
Nacional de Estadística e Informática (INEI), el cual están guardados con formatos
del SPSS (*.sav). Para poder cargar una base de datos con este tipo de formato
directamente en el STATA usamos el comando usespss5.
STATA cuenta con una herramienta que permite convertir base de datos de SPSS,
Matlab, Gauss, SAS, Excel, etc. al formato *.dta a través del software
STAT/TRANSFER.
Para acceder a este software basta con hacerle clic en el icono que aparece en la
figura anterior, posteriormente saldrá un cuadro de dialogo solicitando la
siguiente información:
5
findit usespss
19
En esta sección aprenderemos comandos que permitan dar una revisión de la base
de datos, es decir, saber con qué esquema de datos y tipos de variables se está
trabajando.
-------------------------------------------------------------------------
-------------------------------------------------------
p1141 byte %8.0g p1141 su hogar tiene : teléfono
(fijo)
p1142 byte %8.0g p1142 su hogar tiene : celular
p1143 byte %8.0g p1143 su hogar tiene : tv. cable
p1144 byte %8.0g p1144 su hogar tiene : internet
| # . Missing 1317
+---------------------- -----
0 1 6643
(2 unique values)
-------------------------------------------------------------------------
-------------------------------------------------------
p1141
su hogar tiene : teléfono (fijo)
-------------------------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------
p1142
su hogar tiene : celular
-------------------------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------------------------
-------------------------------------------------------
p1143
su hogar tiene : tv. cable
-------------------------------------------------------------------------
-------------------------------------------------------
1317 .
-------------------------------------------------------------------------
-------------------------------------------------------
p1144
su hogar tiene : internet
-------------------------------------------------------------------------
-------------------------------------------------------
+---------------------------------------+
| p1141 p1142 p1143 p1144 |
|---------------------------------------|
10. | pase celular pase pase |
11. | pase celular pase pase |
12. | pase celular pase pase |
13. | pase celular pase pase |
14. | pase celular pase pase |
|---------------------------------------|
15. | . . . . |
16. | pase celular pase pase |
17. | pase celular pase pase |
18. | pase celular pase pase |
19. | pase celular pase pase |
|---------------------------------------|
20. | telefono celular tv. cabl pase |
+---------------------------------------+
*Generación de variables
En el caso que se quieran cambiar los valores de una variable una vez creadas, se
puede hacer uso de los comandos replace y recode.
*Transformación de variables
Si se desea cambiar de nombre a una variable se hace uso del comando rename.
vivienda_alquilada:
0 Otro
1 Alquilada
2 Propia
br p105a viv_alq
p101:
1 casa independiente
2 departamento en edificio
3 vivienda en quinta
4 vivienda en casa de vecindad (callejón, solar o corralón)
5 choza o cabaña
6 vivienda improvisada
7 local no destinado para habitación humana
8 otro
p101:
0 Otro
1 casa independiente
2 departamento en edificio
3 vivienda en quinta
4 vivienda en casa de vecindad (callej_on, solar o corral_on)
5 choza o caba~na
6 vivienda improvisada
7 local no destinado para habitaci_on humana
8 otro
br p101 tipo_viv
Closest to
Storage 0 without bytes
type Minimum Maximum being 0
---------------------------------------------------------------------
byte -127 100 +/-1 1
int -32,767 32,740 +/-1 2
long -2,147,483,647 2,147,483,620 +/-1 4
float -1.70141173319*10^38 1.70141173319*10^38 +/-10^-38 4
double -8.9884656743*10^307 8.9884656743*10^307 +/-10^-323 8
---------------------------------------------------------------------
Tabla 2.1: Tipo de Variable Numérico
ii) Tipo No Numérico: Este tipo es reconocido como cadena de texto o string.
Generalmente se encierran entre comillas y presenta la siguiente
clasificación:
String
storage Maximum
type length Bytes
----------------------------------
str1 1 1
str2 2 2
... . .
... . .
... . .
str244 244 244
----------------------------------
Tabla 2.2: Tipo de Variable No Numérico
➢ Formato Numérico:
Numerical
%fmt Description Example
-------------------------------------------------------
right justified
%#.#g general %9.0g
%#.#f fixed %9.2f
%#.#e exponential %10.7e
%21x hexadecimal %21x
%16H binary, hilo %16H
%16L binary, lohi %16L
6 Cuando se genera una variable con datos numéricos, STATA por default le asigna un formato float.
31
left justified
%-#.#g general %-9.0g
%-#.#f fixed %-9.2f
%-#.#e exponential %-10.7e
date
%fmt Description Example
-------------------------------------------------------
right justified
%tc date/time %tc
%tC date/time %tC
%td date %td
%tw week %tw
%tm month %tm
%tq quarter %tq
%th half-year %th
%ty year %ty
%tg generic %tg
left justified
%-tc date/time %-tc
%-tC date/time %-tC
%-td date %-td
etc.
-------------------------------------------------------
There are many variations allowed. See Formatting
date and time values in [D] dates and times.
➢ Formato de Texto :
string
%fmt Description Example
-------------------------------------------------------
right justified
32
left justified
%-#s string %-20s
centered
%~#s string %~12s
-------------------------------------------------------
Tabla 2.5: Formato de Variable con Texto
*Formatos Numéricos
describe ln_alq
list ln_alq if ln_alq!=. in 1/100 //lista las primeras 20 observaciones
format %5.2f ln_alq //nueve dígitos y dos decimales
describe ln_alq
list ln_alq if ln_alq!=. in 1/100 //lista las primeras 20 observaciones
format %-5.2f ln_alq //doce dígitos y un decimal alineado a la izquierda
describe ln_alq
list ln_alq if ln_alq!=. in 1/100 //lista las primeras 20 observaciones
En STATA es posible generar una variable numérica a partir de una variable string
numérica y viceversa.
Para poder realizar esta conversión se recurre a la función real() después del
empleo del comando generate. También es posible realizar la misma operación con
el comando destring donde la variable generada se coloca como opción en la
misma línea de comando.
*Conversión de Variables
//De una Variable String Numérica a una Variable Numérica
gen year= real(año)
br año year
destring mes, gen (month)
mes has all characters numeric; month generated as byte
br mes month
A través del comando tostring podemos convertir una variable numérica a string.
Aquí también la variable generada se coloca en la misma línea de comando como
una opción.
br result*
decode result, gen (resultado1)
br result*
Para poder realizar esta conversión se recurre al comando encode. Aquí también la
variable generada se coloca en la misma línea de comando como una opción.
Después de ejecutar esta operación es recomendable utilizar el comando label list
para observa las etiquetas que fueron asignadas a los valores de la nueva variable.
br result encuesta
br result encuesta*
Existen ocasiones en las cuales no se desea trabajar con todas las variables u
observaciones de la base de datos, por lo que STATA cuenta con los comandos
drop y keep para la selección particular de muestra y/o de las variables.
*Ordenar observaciones
use base_modif.dta,clear
//Podemos ordenar de forma ascendente la variable mes
sort mes
br mes
//O en forma descendente
gsort –mes
br mes
//También podemos ordenar de forma ascendente variables consecutivamente
sort año mes conglome vivienda hogar
br año mes conglome vivienda hogar
También se puede ordenar las variables usando el comando order. Este puede ser
útil, si por ejemplo se desea luego distribuir las variables de una base de datos a
otras bases.
*Ordenar variables
//Podemos order en el siguiente orden las variables
35
Existen algunos comandos que son importantes pues se pueden combinar con el prefijo
by(), el mismo que permite realizar algunas operaciones por grupo de observaciones.
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 0
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 1
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 2
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 3
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 4
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = .
36
preserve
replace i105b=i105b/12
i105b was long now double
(1872 real changes made)
sum i105b
restore
2.17.1. Tabulate
El comando tabulate muestra una tabla la cual señala una lista de los distintos
valores que tiene una variable con su frecuencia absoluta, porcentual y acumulada.
Es recomendable usar este comando para aquellas variables con pocos valores
diversos. También es útil para crear variables dummy con ayuda del comando
37
*Tabulaciones y Tablas
// TABULATE
//Tabulación de un solo sentido
tabulate tipo_viv
RECODE of |
p101 (tipo |
de |
vivienda) | Freq. Percent Cum.
------------+-----------------------------------
0 | 57 1.57 1.57
1 | 3,091 85.13 86.70
2 | 170 4.68 91.38
3 | 44 1.21 92.59
4 | 269 7.41 100.00
------------+-----------------------------------
Total | 3,631 100.00
RECODE of |
p101 (tipo |
de |
vivienda) | Freq. Percent Cum.
------------+-----------------------------------
0 | 57 1.77 1.77
1 | 2,854 88.52 90.29
2 | 90 2.79 93.08
3 | 31 0.96 94.04
4 | 192 5.96 100.00
------------+-----------------------------------
Total | 3,224 100.00
RECODE of |
p101 (tipo |
de |
vivienda) | Freq. Percent Cum.
------------+-----------------------------------
0 | 57 1.57 1.57
1 | 3,091 85.13 86.70
2 | 170 4.68 91.38
3 | 44 1.21 92.59
4 | 269 7.41 100.00
------------+-----------------------------------
Total | 3,631 100.00
br tipo_viv dum_viv*
//Tabulación por grupos
by tipo_viv: tab agua
38
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 0
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 1
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 2
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 3
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = 4
-------------------------------------------------------------------------
-------------------------------------------------------
-> tipo_viv = .
| luz
agua | 0 1 | Total
-----------+----------------------+----------
1 | 373 3,327 | 3,700
-----------+----------------------+----------
Total | 373 3,327 | 3,700
+-------------------+
| Key |
|-------------------|
| frequency |
| row percentage |
| column percentage |
+-------------------+
| luz
agua | 0 1 | Total
-----------+----------------------+----------
1 | 373 3,327 | 3,700
| 10.08 89.92 | 100.00
| 100.00 100.00 | 100.00
-----------+----------------------+----------
Total | 373 3,327 | 3,700
| 10.08 89.92 | 100.00
| 100.00 100.00 | 100.00
| luz
agua | 0 1 | Total
-----------+----------------------+----------
1 | 10.08 89.92 | 100.00
| 100.00 100.00 | 100.00
-----------+----------------------+----------
Total | 10.08 89.92 | 100.00
| 100.00 100.00 | 100.00
2.17.2. Table
40
El comando table permite crear tablas de doble y triple sentido, mostrando las
frecuencias absolutas o porcentuales visto de forma horizontal o vertical.
//TABLE
//Tabla de doble entrada
table agua luz
----------------------
| luz
agua | 0 1
----------+-----------
1 | 373 3,327
----------------------
-------------------------------
| luz
agua | 0 1 Total
----------+--------------------
1 | 373 3,327 3,700
|
Total | 373 3,327 3,700
-------------------------------
-------------------------------
| luz
agua | 0 1 Total
----------+--------------------
1 | 373 3,327 3,700
|
Total | 373 3,327 3,700
-------------------------------
----------------------------------------------------------------------------------------
| ----- 0 ---- ----- 1 ---- ----- 2 ---- ----- 3 ---- ----- 4 ----
agua | 0 1 0 1 0 1 0 1 0 1
----------+-----------------------------------------------------------------------------
----------------------------------------------------------------------------------------
2.17.3. Tabstat
41
//TABSTAT
//Tabla con estadísticos descriptivos
tabstat i105b agua luz internet teléfono, by (tipo_viv) ///
stat (mean median min max sum sd va cv sk k)
Summary statistics: mean, p50, min, max, sum, sd, variance, cv, skewness,
kurtosis
by categories of: tipo_viv (RECODE of p101 (tipo de vivienda))
tipo_viv | i105b agua luz internet
---------+----------------------------------------
0 | . 1 .3508772 0
| . 1 0 0
| . 1 0 0
| . 1 1 0
| 0 57 20 0
| . 0 .4814868 0
| . 0 .2318296 0
| . 0 1.372237 .
| . . .6249324 .
| . . 1.390541 .
---------+----------------------------------------
1 | 61.38507 1 .8925914 .0993206
| 45.04167 1 1 0
| 2.5 1 0 0
| 713.1667 1 1 1
| 14732.42 3091 2759 307
| 77.54058 0 .3096821 .2991404
| 6012.542 0 .095903 .089485
| 1.263183 0 .3469473 3.011866
| 5.195348 . -2.535858 2.679305
| 38.27344 . 7.430574 8.178677
---------+----------------------------------------
2 | 110.6406 1 1 .3764706
| 100.1667 1 1 0
| 0 1 1 0
| 445.0833 1 1 1
| 9183.167 170 170 64
| 79.26037 0 0 .4859316
| 6282.207 0 0 .2361295
| .7163772 0 0 1.290756
| 1.579346 . . .5099251
| 6.657368 . . 1.260024
---------+----------------------------------------
3 | 54.83333 1 1 .2272727
| 50.33333 1 1 0
| 5 1 1 0
| 90.41666 1 1 1
| 712.8333 44 44 10
| 21.147 0 0 .4239151
| 447.1956 0 0 .179704
| .3856596 0 0 1.865226
| -.6074877 . . 1.301583
| 3.701805 . . 2.694118
---------+----------------------------------------
4 | 25.60498 1 .9888476 .0446097
| 24.91667 1 1 0
| 5 1 0 0
42
| 104.1667 1 1 1
| 1971.583 269 266 12
| 17.11264 0 .1052102 .2068301
| 292.8425 0 .0110692 .0427787
| .6683326 0 .1063968 4.63644
| 2.05559 . -9.310099 4.41173
| 9.200609 . 87.67794 20.46336
---------+----------------------------------------
Total | 64.40678 1 .8975489 .1082346
| 45 1 1 0
| 0 1 0 0
| 713.1667 1 1 1
| 26600 3631 3259 393
| 74.33346 0 .3032824 .3107193
| 5525.464 0 .0919802 .0965465
| 1.154125 0 .3379007 2.870794
| 4.152664 . -2.622003 2.522014
| 28.91678 . 7.874898 7.360557
--------------------------------------------------
El comando reshape permite transformar una base de datos de forma larga (long)
a una de forma ancha (wide) y viceversa, tal como se muestra a continuación:
clear all
input codigo año genero ingreso
browse
Data
long -> wide
Number of obs. 9
-> 3
Number of variables 4
-> 5
j variable (3 values) año
-> (dropped)
xij variables:
browse
save base_wide, replace
file base_wide.dta saved
*wide -> long
reshape long ingreso,i(codigo) j(a~no)
(note: j = 2009 2010 2011)
Data
long -> wide
Number of obs. 3
-> 9
Number of variables 5
-> 4
j variable (3 values)
-> año
xij variables:
ingreso2009 ingreso2010 ingreso2011 ->
ingreso
browse
44
Hay ocasiones en que la base de datos con forma long puede requerirse para
colapsarlo tal que cada grupo de individuos este representada por una observación
en particular, ya sea por el promedio, la mediana, desviación estándar, máximo, mínimo,
la suma, etc., de alguna variable en particular. Para hacer esta operación recurrimos
al comando collapse.
//Collapse
*buscando cuanto ganó en total cada persona en el periodo
preserve
collapse (sum) ingreso,by(codigo)
save collapse_saltot,replace
file collapse_saltot.dta saved
list
restore
*buscando cuanto ganó en promedio cada persona en el periodo
preserve
collapse (mean) ingreso,by (codigo)
save collapse_salprom,replace
file collapse_salprom.dta saved
list
restore
*buscando cuanto ganó en total y en promedio cada persona en el periodo
a la vez
preserve
collapse (sum) sum_ingreso=ingreso (mean) mean_ingreso=ingreso,by
(codigo)
save collapse_otro,replace
file collapse_otro.dta saved
list
restore
drop _merge
save base_full, replace
file base_full.dta saved
ii. El comando append se utiliza para añadir observaciones, es decir, une dos
bases de manera vertical. Aquí también será necesario una base master y una
base esclava, además la base en la memoria tendrá un formato largo.
//APPEND
*base using
clear
input codigo año experiencia casado genero ingreso
*base master
use base_full, clear
sort codigo a~no
browse
append using base_append
browse
save base_full, replace
file base_full.dta saved
iii. El comando joinby forma todos los pares de combinaciones dentro de cada
grupo a partir de dos bases de datos, una master y otra using. La base master
contiene variables para cada individuo clasificadas por grupos y la base using
contiene variables a nivel de grupos, entonces, el comando joinby colocará los
valores de las variables según al grupo que pertenece cada individuo.
//JOINBY
*base using
clear
input año tc
año tc
1. 2009 3.01
2. 2010 2.89
3. 2011 2.65
4. end
sort año
save base_joinby, replace
file base_joinby.dta saved
*base master
use base_full, clear
sort codigo año
browse
joinby using base_joinby,unmatched(both)
join on common variables: año
browse
tabulate _merge
drop _merge
save base_full, replace
file base_full.dta saved
47
Capítulo 3
Diseño Muestral
1.1. Muestra vs Censo
➢ La naturaleza de la investigación.
➢ El número de variables.
➢ Los tamaños de la muestra utilizada en estudios anteriores.
➢ Las limitaciones de recursos.
1. Muestreo Probabilístico
50
Forman parte de este tipo de muestreo todos aquellos métodos para los cuales se
puede calcular la probabilidad de extracción de cualquiera de las muestras
posibles. Este conjunto de técnicas de muestreo es el más aconsejable, aunque en
ocasiones no es posible optar por él. En este caso se habla de muestras
probabilísticas, pues no es en rigor correcto hablar de muestras representativas
dado que, al no conocer las características de la población, no es posible tener
certeza de que tal característica se haya conseguido.
Características positivas:
i. Fácil de comprender.
ii. Resultados pueden proyectarse a la población meta.
iii. La mayoría de planteamientos de inferencia suponen que la muestra
ha sido recopilada por este procedimiento.
Limitaciones:
i. Difícil construir un marco del cual se pueda extraer una muestra por
muestreo aleatorio simple.
ii. Pueden resultar muestras muy grandes.
iii. Baja precisión (con respecto a las demás técnicas).
iv. Existe incertidumbre acerca de la representatividad de la muestra.
b. Muestreo sistemático
Cada elemento de la muestra tiene probabilidad idéntica y conocida pero solo las
muestras de tamaño n tienen esa propiedad. Muestras de un tamaño distinto
tienen una probabilidad de cero de ser elegidas. Una nota importante es que este
tipo de muestreo es útil y representativo cuando los elementos presentan un orden
que se relaciona con la característica de interés. Además, resulta ser menos costoso
pues la selección aleatoria se realiza solo una vez (al principio).
c. Muestreo Estratificado
51
Para utilizar esta técnica se siguen dos pasos. En primer lugar, se divide a la
población objetivo en subpoblaciones mutuamente excluyentes y colectivamente
exhaustivas (de modo que los elementos de las subpoblaciones sean homogéneos)
que se denominarán grupos. En segundo lugar, se escogen aleatoriamente algunos
grupos de forma aleatoria y se concentran los esfuerzos en estos, descartándose los
no elegidos.
Una muestra de grupo también se puede realizar en más de dos etapas (muestra
de etapas múltiples). La diferencia con el muestreo estratificado reside que en este
caso se extrae una muestra de grupos para la selección posterior y no se seleccionan
todas las subpoblaciones. Una forma particular del muestreo de grupos es el
muestreo de áreas. En esta técnica, los grupos se refieren a áreas geográficas, la
lógica es la misma que el muestreo por grupos y también puede realizarse en dos
o más etapas.
2. Muestreo No Probabilístico
a. Muestreo de Juicio
a. Objetivos
b. Cobertura
53
c. Población en Estudio
Marco Muestral
Unidad de Muestreo
En el Área Urbana
En el Área Rural
Tipo de Muestra
54
Características de la Encuesta
Factores de Expansión
Una de las ventajas que ofrece el Stata para el análisis de Encuestas como la
ENAHO, con Diseño muestral complejo, es que permite calcular los estimadores
teniendo en cuenta el diseño muestral de la misma (diferente al muestreo simple
al azar). Además, Stata proporciona estadísticos con los cuales se puede evaluar
la confiabilidad del resultado en forma simultánea a su estimación. De esta
manera el usuario está en la capacidad de interpretar y utilizar adecuadamente
cada estimación proveniente de la encuesta.
Los principales elementos que se deben tener en cuenta en el trabajo con datos de
encuestas por muestreo son:
Clase 1
*/
version # /* Nueva versión del porgrama */
clear all
set mem 10m
set mat 800
set more off
* Cambiando directorio
cd "C:\Users\Profesor\Desktop\Clase1"
*Cap1
/* Guardando Archivos***/
cap log close
log using clase01.txt, replace text
cd "C:\Users\Profesor\Desktop\Clase1\Sesion1"
use cpv2007_poblacion1,clear
describe
d
/* Población del Perú al 2007*/
rename v000277 Pob_Total
total Pob_Total
count
*mat unos = J(387976,1,1)
preserve
/* Población por departamentos*/
collapse (sum) Pob_Total, by(nombdd)
format Pob_Total %14.0f
mat unos = J(25,1,1)
mat list unos
mkmat Pob_Total, matrix(X)
mat list X
mat P_total = unos'*X
mat list P_total
save Pob_depar, replace
restore
/*Poblacion por Provincias*/
preserve
collapse (sum) Pob_Total, by(nombpp)
format Pob_Total %14.0f
save Pob_pro, replace
restore
/* Población por Distrito*/
preserve
collapse (sum) Pob_Total,by( ccdd ccpp ccdi)
save Pob_dist, replace
restore
use Pob_depar, clear
encode nombdd,gen(dpto)
log close
Clase 2
57
log close
fusión.do
version 12
clear all
set mem 10m
set more off
cd "C:\Users\Profesor\Desktop\Clase2\sesion02"
sort dpto
save Pob10, replace
log close
loop_bases.do
version 12
clear all
set mem 10m
set more off
set rmsg on
cd "C:\Users\Profesor\Desktop\Clase2\sesion02"
cap log close
log using bucle_total.txt, replace text
log close
59
Capítulo 4
yi = α + βxi + µi (4.1)
La Bondad de Ajuste es entendida -en términos sencillos- lo bien que los datos se ajustan
a la regresión. Par ello, se plantean distintos indicadores que permiten seleccionar las
variables que deben ser explicativas en un modelo econométrico. Entre los principales (de
fácil aplicación), se incluyen:
4.3.1.Coeficiente de Determinación
R2 = 1 – SCR/SCT
̅𝑅̅̅2̅ = 1 − 𝑛 − 1 (1 − 𝑅 2 )
𝑛−𝑘
Luego de estimar los parámetros del modelo de regresión lineal, es útil evaluarlos a
través de la contrastación de hipótesis en el contexto del análisis de regresión lineal.
Supongamos que se estime el siguiente modelo: Y = α + β1X. Por ejemplo, si se desea evaluar
si β1 es significativo, es decir si X ayuda a explicar la variable dependiente, se realiza la
siguiente hipótesis:
Este criterio es una alternativa más restrictiva al criterio AIC, ya que permite la
selección de variables que deben ser incluidas en el modelo. Este criterio penaliza en un
grado mayor la inclusión de nuevos regresores en el modelo. Al igual que en el caso anterior,
se considera mejor modelo aquel que presente un menor valor del coeficiente.
Nota: Para poder comparar modelos según los criterios AIC y BIC, es requisito
obligatorio que las estimaciones a comparar tengan la misma variable dependiente.
Clase 3
clear all
set mem 10m
set more off
cd ""
cap log close
log using nacimientos.txt, text replace
use lm2000_v7, clear
d
label list
62
***************************************************************************
**********************
*Evaluando la variable omitida "Tabaquismo" y sus instrumentos
tab estcivma,nolabel
gen par=0
replace par=1 if estcivma==1
replace par=1 if estcivma==6
label var par "Pareja"
label define pareja 0 "Inestable" 1 "Estable"
graph pie, over(par) plabel(_all percent) title("Porcentaje de mujeres con
pareja""estable en Bellavista") note("Fuente: INEI""Elaboración propia")
corr pesoK par
reg pesoK par, r
keep peso pesoK tipopar par edadmad edadmad2 condparto abortos hijosviv
hijosmue sexof semdurtot nivinsmad
save peso_bellavistaF, replace
count
***************************************************************************
**********************
*Aplicando intrumentos para solucionar endogeneidad por variables omitidas
ssc install ivreg2
ssc install ranktest
log close
65
Capítulo 5
Mc Fadden (1974)
−𝑡
𝐹(𝑡) = 𝑒 −𝑒
𝑑𝐹(.) −𝑡 −𝑡
𝑓(𝑡) = = 𝑒 −𝑒 (−𝑒 −𝑡 )(−1) = 𝑒 −𝑒 𝑒 −𝑡
𝑑𝑡
1
𝑑𝑢 = 𝑒 −𝜀2 𝑑𝜀2 ⇒ 𝑑𝜀2 = 𝑑𝑢
𝑒 −𝜀2
66
∞ 𝜀1 +𝑣1 −𝑣2 ∞
−𝜀 −𝜀1 𝜀1 +𝑣1 −𝑣2
∫ 𝑒 −𝑒 1 𝑒 −𝜀1 ∫ 𝑒 𝑑𝑢 𝑑𝜀1 = ∫ 𝑒 −𝑒
𝑢
𝑒 −𝜀1 [𝑒 𝑢 |−∞ 𝑑𝜀1
−∞ −∞ −∞
∞ ∞
−𝑒 −𝜀1 −𝑒 −𝜀1 𝜀1 +𝑣1 −𝑣2 −𝜀1 −𝜀1 −𝑣1 +𝑣2 ∞+
∫𝑒 𝑒 −𝜀1 [𝑒 |−∞ 𝑑𝜀1 = ∫ 𝑒 −𝑒 𝑒 −𝜀1 [𝑒 −𝑒 − 𝑒⏟−𝑒 ] 𝑑𝜀1
−∞ −∞ 0
∞ ∞
−𝜀 −[𝜀 +𝑣 −𝑣 ] −𝜀1 [1+𝑒 −𝑣1 +𝑣2 ]
∫ 𝑒 −𝑒 1 𝑒 −𝜀1 𝑒 −𝑒 1 1 2 𝑑𝜀1 = ∫ 𝑒 −𝜀1 𝑒 −𝑒 𝑑𝜀1
−∞ −∞
∞
1 −𝜀
∫ 𝜃𝑒 −𝜀1 𝑒 −𝜃𝑒 1 𝑑𝜀1
𝜃
−∞
Si:
67
𝑤 = −𝜃𝑒 −𝜀1
1
𝑑𝑤 = 𝑒 −𝜀1 𝑑𝜀1 ⇒ 𝑑𝜀1 = 𝑑𝑤
𝜃𝑒 −𝜀1
∞ ∞
1 1 1 1 ∞+ 1 −𝜀 ∞+
∫ 𝜃𝑒 −𝜀1 𝑒 𝑤 −𝜀 𝑑𝑤 = ∫ 𝑒 𝑤 𝑑𝑤 = [𝑒 𝑤 |−∞ = [𝑒 −𝜃𝑒 1 |−∞
𝜃 𝜃𝑒 1 𝜃 𝜃 𝜃
−∞ −∞
1 −𝜃𝑒 −∞ −𝜃𝑒 ∞+
1 1 𝑒 𝑣1
[𝑒⏟ −⏟
𝑒 ]= = =
𝜃 1 0
𝜃 1 + 𝑒 −𝑣1 +𝑣2 𝑒 𝑣1 + 𝑒 𝑣2
𝑒 𝑣1
𝐹(𝜀1 , 𝜀2 ) =
1 + 𝑒 𝑣1
Donde 𝑣1 = 𝑋𝛽
Clase 4
*Logit Binomial
68
clear
version 11
set mem 10m
set more off
*cd ""
**VD
*LR
display 2*(436.88634-305.71965 )
*Pseudo R2
display 1-305.71965 /436.88634
*Promedios
summ ecoprc regprc reglbs educ
*Efectos Marginales
scalar efm1=p*(1-p)*-3.23597
scalar efm2=p*(1-p)*2.210204
scalar efm3=p*(1-p)*-.9711667
scalar efm4=p*(1-p)*.1161727
scalar list
mfx
*Elasticidades
scalar el1=(1-p)*-3.23597*1.081515
scalar el2=(1-p)*2.210204*.8827273
scalar el3=(1-p)*-.9711667*1.282323
scalar el4=(1-p)*.1161727*14.38182
scalar list
mfx, eyex
*ODDS RATIO
scalar Od1=exp(-3.23597)
scalar Od2=exp(2.210204)
scalar Od3=exp(-.9711667)
scalar Od4=exp(.1161727)
scalar list
logit, or
69
Capítulo 6
• Una base de datos de panel es aquel en el cual se observan a los mismos individuos
en distintos instantes de tiempo.
• Las unidades pueden ser individuos, hogares, empresas, países o cualquier otra
unidad que se mantenga estable en el tiempo.
• Un panel data es balanceado si existe una observación para cada individuo y para
cada unidad de tiempo y es desbalanceado si faltan observaciones.
• Con este tipo de modelos es posible encontrar dinámicas que serían difíciles de
detectar con datos de corte transversal.
• Construir una base de panel de datos es bastante caro, por lo que estos
frecuentemente están muy bien diseñados, con ratios de respuesta bastante altos.
k s
Yit = 1 + j X jit + p Z pi + it
j =2 p =1
70
s
i = p Z pi
p =1
Clase 5
clear
set more off
cd ""
use aerolineas
*Efectos Fijos
*LSDV
forvalues i = 1/6 {
gen d`i' = 0
replace d`i' = 1 if airline == `i'
}
*Estimador Within
*estimación within
reg wcost woutput wload wfuel, noc
reg wcost woutput wload wfuel, noc vce(cluster airline)
display _se[woutput]*sqrt(87/81)
display _se[wload]*sqrt(87/81)
display _se[wfuel]*sqrt(87/81)
forvalues i = 1/6 {
*R2 within
*R2 Overall
gen yhatO = aw+_b[wfuel]*fuel+_b[woutput]*output + _b[wload]*load
***
****Efectos Aleatorios
*FGLS (estimadores within y between)
*Paso 1, estimador within
scalar drop _all
*Paso 2
**Colapsando mi base de datos
collapse (mean) mcost=cost (mean) mload=load ///
(mean) moutput=output (mean) mfuel=fuel,by(airline)
reg mcost mload moutput mfuel
scalar srcb = e(rss)
*R2 Between
gen yhatB = 9.7136+0.417*mfuel+0.91*moutput-1.07*mload
corr mcost yhatB
scalar r2between= 0.9928^2
scalar list
**Construyendo theta
scalar theta =1-sqrt(vare/(vari*15+vare))
scalar list
***
use aerolineas, clear
*Capturando los U
gen resdo = cost-(_b[consFG]+_b[loadFG]*load ///
+ _b[outFG]*output+_b[fuelFG]*fuel)
forvalues i = 1/6 {
qui total resdo if airline==`i'
mat tot`i'=e(b)
scalar tot`i'=tot`i'[1,1]
scalar c`i' = 9.62791 +tot`i'*theta
}
scalar list
xtset airline
xtreg cost output fuel load, re theta
*display ((6*15)/(2*(15-1)))*((15^2*0.0665)/1.3354-1)^2
xttest0
*FE VS RE
quietly xtreg cost output fuel load, fe
estimates store fixed_group
quietly xtreg cost output fuel load, re
hausman fixed_group