econometrÍa iii ulpgc 2002-2003 prÁctica 1 …...(para etiquetar las variables y valores) destring...
Post on 11-May-2020
5 Views
Preview:
TRANSCRIPT
QUÉ ES STATA
(Versión 7). •Corre en Windows•Paquete estadístico-econométrico• con posibilidad de programación•Ayuda on-line (ojo piratería!!)EC
ON
OM
ETR
ÍA II
I (U
LPG
C, 2
002-
3) P
RÁ
CTI
CA
1.
Intr
oduc
ción
a S
tata
Preparados: Las ventanas Stata
(2) Aquí se pueden escribir y correr
interactivamente los comandos
(1) Aquí salen los
resultados
(3) Aquí se conservan los últimos comandos ejecutados. Usar para copiar en (2) y correr
de nuevo(4) Aquí lista statalas variables en
memoria
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
Preparados: Las ventanas Stata(5) Ventana del editor de datos,
para ver y cambiar datos
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
Cómo corre?
• Interactivamente, escribiendo el comando en la ventana (2)
• Modo batch, editando un fichero de comandos (.do) y corriéndolo, entero o parcialmente
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
Ficheros
•• DatosDatos: extensión ..dtadta (formato Stata)•• ComandosComandos: extensión .do.do (puede editarse con
cualquier procesador o en la ventana de stata)•• ResultadosResultados: para que escriba los resultados
en fichero hay que abrirlo, conviene usar la extensión .log.log (ascii)
Los programas escritos en stata y ya compilados que pueden correrse con solo escribir su nombre tienen extensión ..adoado
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
Hoy aprenderemos a:
• 1. Leer, manipular y guardar datos• 2. Comandos para algunas operaciones
estadísticas (descriptivos, tablas de frecuencias y contingencia, ANOVA,….)
• 3. Combinar ficheros (unir o desagregar ficheros de datos)
• 4. La regresión en Stata: estimación y contrastes
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
Leyendo
• Fichero de datos en datos en asciiascii delimitado por tabulaciones (o comas), extensión .extensión .datdat
• Puede escribirse con SPSS, excel, ….• Para leer:
– insheet using nombre ficheroNota: crear una carpeta en c: para datos y ficheros
de comandos (datostata). Al entrar en la sesión, entrar en esa carpeta:
cd ..cd ..cd datostata
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta1
Un par de aclaraciones
• Si el fichero de datos es grande, antes de leerlo conviene reservar suficiente memoria. Ejemplo, para reservar 10 megas:– set mem 10m
Stata es sensible a las mayúsculas (no es lo mismo SET que set). Los comandos van en minúsculas
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta1
Caso 1: salarios en una empresa(n=474+1 inventado)
1
• 1. Leer fichero practica1_1.sav (en SPSS). Echar un vistazo al contenido. Datos missing; sexo: string
• 2. Escribirlo en ascii como practica1_1.dat, delimitado por tabuladores, en la carpeta datostata
• 3. Entrar en Stata. Cambiar a la carpeta datostata. Leerlo. Mirar su contenido en la ventana del editor
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
Caso 1(cont.)Manejando missing y cambiando tipos de
variables
• 4.Pedimos (interactivamente) una descripción de las variables:– sum sexo educ catlab salario (…)– Tenemos dos problemas:
1º Las variables que tienen algun missing no las summariza(pone numero observaciones cero)
2º Sexo es alfanumérica. Queremos convertirla en numérica– Vamos a arreglarlos, aprendiendo de paso a usar los
comandos:gengen (para crear una variable nueva)replacereplace (para reemplazar algunos valores de una variable)tabutabu (para hacer tablas de frecuencias simples o dobles)labellabel (para etiquetar las variables y valores)destringdestring (para convertir una variable alfanumérica en numérica) formatformat (para cambiar el formato de una variable)
Nota: de momento, corremos en modo interactivo…… Entrar en Stata
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta1
Caso 1(cont.)Ejercicio 1.
• Hacer la tabla de frecuencias de la categoría laboral (catlab)
• Etiquetar esta variable (catlab) y sus valores• Cambiar los valores de catlab, reemplazando 1
por 10, 2 por 20, y declarando missing el 3. Para no cargarse la variable catlab original, hagan los cambios en una copia llamada borro (gen borro=catlab).
• Comprueben que borro tiene la información correcta, y bórrenla del fichero en memoria (drop borro)
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta1
Caso 1(cont.)MANIPULANDO DATOS. APRENDIENDO A LISTAR
DATOS Y A ESCRIBIR CONDICIONES (IF)
•• ifif define una o mas condiciones– En las asignaciones, para escribir “igual a” hay que poner ==– AND se indica mediante &– OR se indica mediante |– No se indica mediante !
Ejemplo: pedimos que liste (list) los valores de la edad y el salario para las mujeres (sex =1) que hayan estudiado al menos 14 años y no sean directivos (catlab distinto de 3):– Solución:
• listlist edad salario edad salario ifif sex==1 & educa>=14 & sex==1 & educa>=14 & catlabcatlab!=3!=3
ifif se puede usar en casi todos los comandos (ejemplos: list, replace, sum, tabu, regress,……)
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta1
Grabar el fichero de datos en formato stata
•• savesave usingusing nombre.nombre.dtadta• Puede hacerse desde los menus (fichero
guardar o guardar como) • En una sesión posterior, se puede abrir con el
menu (file open) o con el comando use use nombre.nombre.dtadta
• Ejercicio: Guarden el fichero de datos con el nombre practica1.dta
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta1
• Hace la descripción de una o varias variables:
Si no se especifican variables, describe todasSi escriben detail da todos los estadísticos
summarize [varlist] [weight] [if exp] [in range] [, [detail|meanonly] format ]by ... : may be used with summarize; see help by
Ejemplo:
1. describir el salario inicial y el salario actual de las mujeres y de los hombres por separado
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
taAlgunas operaciones estadísticas
sencillas en Stata: summarizesummarize ((sumsum)2
)
tabsumtabsum for making tables of means.
See help table and tabstattabstat for making tables of means and other statistics.
See help cici for calculating the standard error and confidence intervals of the mean.
See help stsumstsum for calculating summary statistics with survival-time data.
See help xtsumxtsum for calculating summary statistics with cross-sectional time-series data.
Ejemplo: haz la tabla de medias de salario por categorías laborales diferenciando hombres y mujeres:tabutabu sex sex catlabcatlab, , sumsum(salario)(salario)EC
ON
OM
ETR
ÍA II
I (U
LPG
C, 2
002-
3) P
RÁ
CTI
CA
1.
Intr
oduc
ción
a S
tata
Otros comandos para describir variables:
2
Tablas de frecuencias y de contingencia: tabu
•• tabutabu hace tablas de frecuencia de una o dos variables categóricas– Ejemplos:
•• tabutabu catlab catlab •• tabutabu catlabcatlab sexsex•• tabutabu catlabcatlab sex, sex, ro ro •• tabutabu catlabcatlab sex, sex, roro coco chi2chi2
Ejercicio: Haz la tabla cruzada entre minoriay sexo, prueba exacta de Fisher (busca en ayuda)
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta2
Histogramas y otros gráficos: graph(ver help graph)
– Ejemplo de histograma:•• graphgraph salario, salario, histogramhistogram binbin(10) (10) freqfreq normalnormal
Ejercicio: Haz el histograma del salario inicial para las mujeres y para los hombres
– Ejemplo de scatterplot:•• graphgraph salario salario salinisalini
Ejercicio: Grafica salario inicial (ordenadas) frente a años de educación (abscisas)
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta2
Mas ejemplos de graph
– Prueba esto:•• graphgraph salario salario salinisalini ifif salario>15000salario>15000•• graphgraph salario salario salinisalini edad, edad, matrixmatrix•• graphgraph salario salario salinisalini , , onewayoneway boxbox•• graphgraph salario salario salinisalini , box, box
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta2
Correlaciones entre variables: correlate2
Ejemplos:Correlación entre salario inicial y actualCorrelación entre salario inicial y final por categorías laborales
Solución ejemplos:1. 1. CorrelaCorrela salario salario salinisalini2. 2. sortsort catlabcatlabby by catlabcatlab: : correlacorrela salario salario salinisalini
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
COMBINANDO FICHEROS DE DATOS collapsecollapse
Ejemplo caso 2: fichero practica1_2.dta• Datos de n=979 jóvenes USA 18-24 años
que tienen 5 o mas hermanos, CPS 1992-99• La variable family identifica la familia,
nherman es el numero de hermanos, smoke es la dicotomica =1 si fuma• Objetivo: crear un fichero de familias,
que contenga la edad media de los hermanos y el numero de fumadores
Nota: otros comandos para combinar ficheros de datos son joinbyjoinby, , mergemerge, , appendappend
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta3
MANIPULANDO FICHEROS DE DATOS collapse
3
collapse– Ejemplo caso 2: fichero practica1_2.dta
• Datos de n=979 jóvenes USA 18-24 años que tienen 5 o mas hermanos, CPS 1992-99• La variable family identifica la familia, nherman es el numero de hermanos, smoke es la dicotomica =1 si fuma• Objetivo: crear un fichero de familias, que contenga la edad media de los hermanos y el numero de fumadores en cada
familia
1.1. Abrir Abrir practica1_2practica1_2..dtadta. Antes hacer . Antes hacer clearclear para borrar el fichero de para borrar el fichero de datos en memoria y ampliar la memoria a 100megasdatos en memoria y ampliar la memoria a 100megas
clearclearsetset memmem 10m10muse use practica1_2practica1_2
2. Dentro de cada familia, creamos un identificador de cada herm2. Dentro de cada familia, creamos un identificador de cada hermano ano (de 1 al numero de hermanos), ordenando previamente el fichero (de 1 al numero de hermanos), ordenando previamente el fichero por familia, edad y sexopor familia, edad y sexo
sortsort familyfamily ageage mujermujerby by familyfamily: gen i=[_n]: gen i=[_n]
3. Creamos un fichero de familias con 3. Creamos un fichero de familias con collapsecollapse::collapsecollapse (mean) (mean) ageage ((sumsum) ) smokesmoke, by (, by (familyfamily))
4. Salvamos el fichero de familias con en nombre 4. Salvamos el fichero de familias con en nombre famifami..dtadta::SaveSave famifami..dtadta
SO
LUC
IÓN
: Vamos a hacer este ejercicio con un
fichero do de comandos, llamado
icaso2.do
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta
MANIPULANDO FICHEROS DE DATOS joinby
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta3
joinby– Ejemplo caso 2 (jóvenes y tabaco) , continuación
• Objetivo: añadir al fichero de datos practica1_2.dta las variables edad media de los hermanos y número de hermanos que fuman (fichero fami.dta)
1.1. En el fichero En el fichero famifami, cambiar el nombre a , cambiar el nombre a ageage y y smokesmoke para para evitar confusionesevitar confusiones
renamerename ageage hagehagerenamerename smokesmoke hsmokehsmoke(Estas variables contienen la media para cada (Estas variables contienen la media para cada familia)familia)Grabar el fichero Grabar el fichero famifami ((savesave famifami..dtadta, , replacereplace))
2.2. Abrir Abrir practica1_2practica1_2..dtadta2. Asegurarse que está ordenado por familias:2. Asegurarse que está ordenado por familias:
sortsort familyfamily3. Unirle el fichero 3. Unirle el fichero famifami..dtadta, usando , usando joinbyjoinby::
joinbyjoinby familyfamily usingusing famifami4. Guardar 4. Guardar practica1_2practica1_2
SO
LUC
IÓN
:
La regresión en Stata: estimación y contrastes
• Stata tiene comandos para virtualmente cualquier tipo de modelo econométrico basado en regresión
SearchSearch regressregressLa sintaxis de esos comandos es similar.
Como ilustración tomamos la regresión lineal (comando regressregress)
4EC
ON
OM
ETR
ÍA II
I (U
LPG
C, 2
002-
3) P
RÁ
CTI
CA
1.
Intr
oduc
ción
a S
tata
Ejemplo de regressregress
Ejemplo: con caso 2. Modelo de regresión que explique el log de la cantidad de cigarrillos fumados diariamente (lq) en función del log del precio (lp),del número de hermanos que fuman (hsmoke), la edad (age), sexo (mujer), y otras variables de control (ys= años que lleva fumando; ys2 (años fumando al cuadrado), working, hispanic….). Para la submuestra de fumadores (smoke=1)regressregress lqlq lplp hsmokehsmoke ageage mujer mujer ysys ys2 ys2 workingworking hispanichispanic ifif
smokesmoke==1==1
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta4
Sintaxis: haz help regress
Ejemplo de regressregress (cont.)
Ahora queremos añadir en la regresión el efecto tiempo, diferenciando las tres oleadas de la encuesta (wave=1 para 1992/93, =2 1995/96; =3 1998/99) y creemos que tal vez hay interacción entre dicha oleada y hispanic (los hispanos han cambiado de habitos en esos años):
xi: xi: regressregress lqlq lplp hsmokehsmoke ageage mujer mujer ysys ys2 ys2 workingworkinghispanichispanic i.i.wavewave i.i.wavewave*i.*i.hispanichispanic ifif smokesmoke==1==1
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta4
Como introducir dummies e interacciones
Ejemplo de regressregress (cont.) Diagnóstico del modelo
Hacer helphelp regdiagregdiag; ; helphelp postestpostest; ; 1. Predecimos y guardamos las predicciones como lqest:
PredictPredict lqestglqestg ifif e(e(samplesample))2. 2. hettesthettest hace el contraste de heterocedasticidad de Breusch y
Pagan3. Si hay heterocedasticidad, podemos hacer estimación robusta:
regressregress lqlq lplp ageage mujer mujer ysys ys2 ys2 workingworking hispanichispanic ififsmokesmoke==1, ==1, robustrobustSi sospechamos que la heterocedasticidad es por grupos, podemos hacer la corrección suponiendo que los individuos del mismo grupo tienen errores correlacionados. Si el grupo es la familia:regressregress lqlq lplp ageage mujer mujer ysys ys2 ys2 workingworking hispanichispanic ififsmokesmoke==1, ==1, robustrobust cluster(cluster(familyfamily))
4. ovtestovtest hace el contraste de especificación de Ramsey5. 5. Se pueden hacer gráficos parciales avplotsavplots
(……..)(……..)
4EC
ON
OM
ETR
ÍA II
I (U
LPG
C, 2
002-
3) P
RÁ
CTI
CA
1.
Intr
oduc
ción
a S
tata
La regresión en La regresión en statastata permite:permite:Contrastes de hipótesis lineales (Contrastes de hipótesis lineales (testtest) )
y no lineales (y no lineales (testnltestnl))Diseñar contrastes de ratios de Diseñar contrastes de ratios de
verosimilitudes para comparar verosimilitudes para comparar modelos (modelos (lrtestlrtest))
Estimación restringidaEstimación restringidaEstimación ponderada Estimación ponderada
…. Y mucho mas…. Y mucho mas
ECO
NO
MET
RÍA
III (
ULP
GC
, 200
2-3)
PR
ÁC
TIC
A 1
. In
trod
ucci
ón a
Sta
ta4
top related