19 ago 2017

Notas sobre el trabajo parcial en la República Dominicana



El mercado laboral constituye el nexo por excelencia entre las condiciones macroeconómica y el bienestar de los hogares, en el caso dominicano, diversos autores han resultado dicha relación estableciendo que la participación laboral constituye parte fundamental de las políticas públicas. Pero inclusive la participación laboral puede esconder formas atípicas de trabajo, como el  trabajo a tiempo parcial, donde la actividad laboral tiene una duración inferior a la que realizan los trabajadores a tiempo completo en condición comparable (OIT, 2015). Dicha condición puede esconder sub-ocupación de las horas laborales, dado que existiría una proporción de la población ocupada que involuntariamente trabaja menos horas de las establecidas, deseando trabajar más y estando disponible para hacerlo.

El Gráfico 1 muestra la evolución de la incidencia del trabajo a tiempo parcial (incluidos los cuenta propia) por sexo entre 2000 y 2016, observándose que se ha mantenido constante en los últimos 15 años, aunque la mayor incidencia en las mujeres es de carácter estructural. Cuando se compara la correlación entre el porcentaje de trabajadores a tiempo parcial y el crecimiento del producto se observa una asociación negativa, la cual se verifica de forma más clara posterior a las crisis de 2003 y 2007.

Gráfico 1Relación del porcentaje de trabajadores en jornada parcial por zona de residencia y  crecimiento económico. (2000-2016)

Los resultados indican que el trabajo parcial no se distribuye de forma aleatria entre la población o la economía, siendo un fenómeno altamente extendido entre lo cuenta propia y los trabajadores de los sectores agrícolas y servicios; los jóvenes y mujeres. No obstante, aunque estos trabajadores presentan mayor vulnerabilidad e incidencia de la pobreza monetaria, registran salarios por hora superiores a los trabajadores comparables en jornada completa. 

En la Tabla 1 se presentan la incidencia y distribución del trabajo a tiempo parcial según características seleccionadas, observándose que las mujeres enfrentan suelen trabajar jornadas laborales de menos horas, en tal sentido inciden los factores culturales como el de los roles tradicionales en el hogar, el trabajo doméstico no remunerado y el estilo de trabajo de los cuenta propia, que representan el 59.9% de los trabajadores a tiempo parcial.

Tabla 1. Incidencia y distribución del trabajo parcial,
 según características seleccionadas, 2000 y 2016.
Fuente: Elaboración propia a partir de la Encuesta Nacional de Fuerza de Trabajo y datos del Banco Central.

Según edad la incidencia del trabajo parcial juega una forma de “v”, siendo significativamente mayor en los grupos etarios de mayor y menor edad, presentando los jóvenes una especial sensibilidad, dado enfrentan salarios menores, verificándose en la distribución que más del 40% de los trabajadores a tiempo parcial tienen menos de 35 años.

Según nivel de escolaridad, se verifica que los más educados tienden a participar en menor frecuencia en trabajos a tiempo parcial, 26.4% de los ocupados sin educación escolar están ocupados parcialmente,  dicha incidencia es solo ligeramente inferior (24.9%) entres quienes alcanzaron un nivel básico de escolaridad, dicha incidencia continua descendiendo hasta los post-universitario donde solo 14.0% de los ocupados laboran menos de 30 horas semanales. Referidos a la distribución de dichos trabajadores el 73.2% se encuentra en los niveles comprendido entre básica, secundaria y vocacional. Solo un 0.6% de los ocupados parcialmente han extendido sus estudios mas allá de los universitarios. 

Tabla 2. Condiciones específicas de vulnerabilidad,
según tipo de jornada laboral y sexo, 2016
1 Solo considera población ocupada, empleados públicos y privados en edad de trabajar.
Fuente: Elaboración propia a partir de la Encuesta Nacional de Fuerza de Trabajo y datos del Banco Central.

La tabla anterior muestra que la incidencia no se distribuye de forma aleatoria en la población ocupada, pero ¿se puede asociar el trabajo parcial a mayor precariedad laboral?, para esto se visualizan en la Tabla 2, tres dimensiones revisadas por (Rau, 2010): la inestabilidad laboral se aproxima a partir del tipo de contrato, en tal sentido se observa que los trabajadores a tiempo parcial presentan contratos fijos en menor proporción; el segundo elemento es la inseguridad social, medida por las cotizaciones, donde se verifica menor nivel de afiliación en los trabajadores a tiempo parcial y la insuficiencia de ingresos, reflejada en una mayor  incidencia de la pobreza, pese a que registran mayores ingresos por hora. Este mayor ingreso se explica teóricamente por una mayor productividad.






13 may 2017

Econometría y proyectos econométricos en GRETL


El siguiente documento contiene las notas de clases de Econometría, usadas en la clase de econometría 1, de la Universidad Autónoma de Santo Domingo, semestre 2007-2. Las notas muestran los principales procedimientos utilizados, seguido en el software Gretl (acronimo de Gnu Regression, Econometric and Time Series, elaborado por Allin Cottrell (Universidad Wake Forest)) es una aplicación diseñada para el análisis estadístico y la estimación de modelos econométricos. Puede descargarse gratuitamente desde: http://gretl.sourceforge.net/.



5 may 2017

Curso: fundamentos de Matlab para el análisis económico



El curso se divide en dos parte: una primera parte donde se realiza una introducción aplicada al uso de Matlab, en esta se desarrollan los conceptos básicos y se utilizan distintas herramientas para el análisis estadístico; en la segunda parte, que inicia en la quinta parte del curso, se desarrollan elementos de programación como las estructuras y bucles, continuado con la introducción al uso de funciones y paquetes especiales para el análisis de datos en Matlab.

Clase 4. Funciones 

Ejercicios: 1, 2, 3, 4, 5 , 6.
Documentos de referencia recomendados:

·         Corcuera, Pedro. Gráficos en Matlab. Departamento de Matemática Aplicada y Ciencias de la Computación. Universidad de Cantabria.
·  Madoz, Agueda & Etxeberria, Paulina (2015). Notes on Matlab. University of the Basque Country, UPV/EHU.
·     MathWorks (2014).  Learning MATLAB. United State.
·     More, Holly. Matlab para ingenieros. Salt Lake Community College. Pearson, Prentice Hall.
·  Raul, Exequiel (2011). Taller Matlab 1. Instituto de Economía. Pontificia Universidad Católica de Chile.

Realizado en: Fundación para el Avance de las Matemáticas (FAMA)

12 nov 2016

Ejemplos de tablas en Stata




Las tablas de frecuencia absoluta nos permiten contabilizar casos que cumplen con determinadas condiciones, Stata genera este tipo de tablas mediante diversas formas, una de ella es mediante el comando tabulate, en el mismo, tal como muestran los siguientes ejemplos, podemos además introducir filtros, condicionales, factores de expansión y las demás bondades de Stata (Alonso Borrego & Sánchez Mangas) .

* Tabla de frecuencia absoluta, relativa y relativa acumulada
. tabulate foreign

   Car type |      Freq.     Percent        Cum.
------------+-----------------------------------
   Domestic |         52       70.27       70.27
    Foreign |         22       29.73      100.00
------------+-----------------------------------
      Total |         74      100.00

Especificándole dos variables, también podemos obtener una tabla de contingencia cruzada:

. tabulate mpg  foreign

   Mileage |       Car type
     (mpg) |  Domestic    Foreign |     Total
-----------+----------------------+----------
        12 |         2          0 |         2
        14 |         5          1 |         6
        15 |         2          0 |         2
        16 |         4          0 |         4
        17 |         2          2 |         4
      ...
        41 |         0          1 |         1
-----------+----------------------+----------
     Total |        52         22 |        74

También podemos introducir filtros o condicionales a nuestras tablas, esto resulta interesante cuando deseamos restringir nuestro análisis a solo un grupo especial de la población. El próximo comando muestra la tabla de frecuencias de las variables sólo para las observaciones que cumplen la expresión especificada después del if.


Los estadísticos descriptivos constituyen una de las primeras miradas brindada a nuestra base de datos,  Utilizando las especificaciones de contenido, se obtiene la tabla, conteniendo la deviación y la media de los precios según el origen de producción de los coches.

. table foreign, contents (n price mean price sd  price )

-------------------------------------------------
 Car type |    N(price)  mean(price)    sd(price)
----------+--------------------------------------
 Domestic |          52      6,072.4     3097.104
  Foreign |          22      6,384.7     2621.915
-------------------------------------------------

“Añadiendo además la opción row (col), la tabla incluirá una fila (columna) adicional con los valores totales, para cada valor de las opciones que aparecen”.

table foreign, contents (n price mean price sd  price ) row

-------------------------------------------------
 Car type |    N(price)  mean(price)    sd(price)
----------+--------------------------------------
 Domestic |          52      6,072.4     3097.104
  Foreign |          22      6,384.7     2621.915
          |
    Total |          74      6,165.3     2949.496

Podemos también solicitar as estadísticas para diversas variables, pero también podemos obtener muchos otros estadísticos descriptivos (Gresia, 2012), como por ejemplo:

tabstat price length weight if foreign == 1, s(count min max mean sd cv sk p50 p50 p75 p90)

   stats |     price    length    weight
---------+------------------------------
       N |        22        22        22
     min |      3748       142      1760
     max |     12990       193      3420
    mean |  6384.682  168.5455  2315.909
      sd |  2621.915  13.68255  433.0035
      cv |  .4106571  .0811802  .1869691
skewness |  1.215236  .0809646  1.056582
     p50 |      5759       170      2180
     p50 |      5759       170      2180
     p75 |      7140       175      2650
     p90 |      9735       189      2830
----------------------------------------


tabulate foreign, summarize( price)

            |          Summary of Price
   Car type |        Mean   Std. Dev.       Freq.
------------+------------------------------------
   Domestic |   6,072.423   3,097.104          52
    Foreign |   6,384.682   2,621.915          22
------------+------------------------------------
      Total |   6,165.257   2,949.496          74


El comando table, también nos permite utilizar una cantidad importante de comandos. Los ejemplos de esta sección utilizan la Encuesta Nacional de Fuerza de Trabajo (ENFT) correspondientes al mes de Abril2010 para generar tabulados.

Ejemplo 1. Población por rango de edad:
En muchas ocasiones necesitaremos re-codificar variables cuantitativas, para obtener grupos de la mismas, por tanto antes de usar el comando table debemos re-codificar las variables de nuestro interés. Además, aprovechemos el presente ejemplo para explicar el uso del Script.

/*
Autor: Nerys
Versión: 12/11/2016
Descripción: explica como realizar tabulados
usando encuestas de hogares de la real real
*/

clear all
  cd "C:\Users\Nerys Ramierz\Dropbox\Materia, Seminario de la Investigación\Documentos compartidos Seminario\Nivelación STATA"
       capture log using "Results_table", t replace
       set more off

       *carga la base de datos
       use ENFTAbril2010
      
       *Ejemplo 1
       recode eft_edad (1/14=0 "Niños") (15/64=1 "PET") (else=3 "adultosM"), into(edadR)
       table edadR

----------------------
RECODE of |
eft_edad  |
(EFT_EDAD |
)         |      Freq.
----------+-----------
    Niños |      8,655
      PET |     19,034
 adultosM |      2,804
----------------------

Observe que en el ejemplo anterior obtuvimos el número de personas presente en la encuesta, por lo que nuestro objetivo es obtener el dato de la población en total, en tal sentido necesitaremos utilizar el factor de expansión presente en la encuesta. Si recordamos la sintaxis del programa solo debemos modificar levemente el comando anterior:

table edadR [fw=eft_factor_exp]

----------------------
|(EFT_EDAD |
)         |      Freq.
----------+-----------
    Niños |    2663955
      PET |    6259825
 adultosM |    829,277
----------------------

Pero observe que no siempre los datos son arrojados en el formato que deseamos, Stata permite especificarle al programa el tipo de datos en que deseamos se imprima nuestra tabla en la pantalla de resultados. Note que mediante la opción format podemos acceder a una cantidad importante de formatos en nuestras tablas.

table edadR [fw=eft_factor_exp], format(%10.0fc)

----------------------
RECODE of |
eft_edad  |
(EFT_EDAD |
)         |      Freq.
----------+-----------
    Niños |  2,663,955
      PET |  6,259,825
 adultosM |    829,277
----------------------

El comando table también nos permite cruzar nuestra información según otros tipos de variables categóricas como el sexo o el estado civil, solo especificando el nombre de las variables:

Ejemplo 2. Población por sexo, según rango de edad
Note en este ejemplo que es necesario muchas veces recodificar las variables originales de nuestra base de datos, de forma tal que en los resultados nos salgan las etiquetas de los valores y no los valores como tal.

table edadR sexo [fw=eft_factor_exp], format(%10.0gc)

----------------------------------
RECODE of |
eft_edad  |   RECODE of eft_sexo 
(EFT_EDAD |       (EFT_SEXO)     
)         |     hombre       mujer
----------+-----------------------
    Niños |    1339490     1324465
      PET |    3121364     3138461
 adultosM |    395,444     433,833
----------------------------------

También podemos adherir las marginales (totales) a las tablas anteriores:

table edadR sexo [fw=eft_factor_exp], row col format(%13.0gc)

-------------------------------------------------------
RECODE of |
eft_edad  |
(EFT_EDAD |        RECODE of eft_sexo (EFT_SEXO)      
)         |        hombre          mujer          Total
----------+--------------------------------------------
    Niños |     1,339,490      1,324,465      2,663,955
      PET |     3,121,364      3,138,461      6,259,825
 adultosM |       395,444        433,833        829,277
          |
    Total |     4,856,298      4,896,759      9,753,057
-------------------------------------------------------


En muchas ocasiones preferiremos obtener los resultados en términos relativos, es decir expresados en porcentajes. En el ejemplo anterior obtuvimos la población por sexo, según grandes grupos de edad, pero suponga que necesitamos saber cómo se distribuyen esos grupos de edad según sexo, esto se puede lograr utilizando el comando tabulate.

Ejemplo 3. Distribución de la población por sexo, según rango de edad
Note en la siguiente tabla que obtuvimos la distribución de la población por sexo, según rango de edad, en tal sentido se puede interpretar como que el 27.05% de la población femenina del país tienen menos de 15 años. (Según sean filas o columnas nos indica relativo a que variables esta expresado el porcentaje)

tab edadR sexo [fw=eft_factor_exp], nofreq col

 RECODE of |  RECODE of eft_sexo
  eft_edad |      (EFT_SEXO)
(EFT_EDAD) |    hombre      mujer |     Total
-----------+----------------------+----------
     Niños |     27.58      27.05 |     27.31
       PET |     64.27      64.09 |     64.18
  adultosM |      8.14       8.86 |      8.50
-----------+----------------------+----------
     Total |    100.00     100.00 |    100.00

También podemos estar interesados en conocer qué porcentaje de la población es varón o hembra en cada grupo de edad, en tal sentido necesitamos establecer el porcentaje en referencia a las filas, lo anterior se logra de manera fácil insertando la opción row en el comando anterior.

Ejemplo 4. Distribución de la población por sexo, según rango de edad
tab edadR sexo [fw=eft_factor_exp], nofreq row

 RECODE of |  RECODE of eft_sexo
  eft_edad |      (EFT_SEXO)
(EFT_EDAD) |    hombre      mujer |     Total
-----------+----------------------+----------
     Niños |     50.28      49.72 |    100.00
       PET |     49.86      50.14 |    100.00
  adultosM |     47.69      52.31 |    100.00
-----------+----------------------+----------
     Total |     49.79      50.21 |    100.00

También el comando tabulate permite realizar tablas en frecuencia relativa al total.

tab edadR sexo [fw=eft_factor_exp], nofreq cell

 RECODE of |  RECODE of eft_sexo
  eft_edad |      (EFT_SEXO)
(EFT_EDAD) |    hombre      mujer |     Total
-----------+----------------------+----------
     Niños |     13.73      13.58 |     27.31
       PET |     32.00      32.18 |     64.18
  adultosM |      4.05       4.45 |      8.50
-----------+----------------------+----------
     Total |     49.79      50.21 |    100.00

Por último, tenga pendiente que podemos incorporar todas o muchas de las opciones anteriores en una misma tabla modificando levemente el comando anterior. Evitaremos utilizar este tipo de tablas debido a que la lectura puede llevar a confusiones.

tab edadR sexo [fw=eft_factor_exp], row col

+-------------------+
| Key               |
|-------------------|
|     frequency     |
|  row percentage   |
| column percentage |
+-------------------+

 RECODE of |  RECODE of eft_sexo
  eft_edad |      (EFT_SEXO)
(EFT_EDAD) |    hombre      mujer |     Total
-----------+----------------------+----------
     Niños | 1,339,490  1,324,465 | 2,663,955
           |     50.28      49.72 |    100.00
           |     27.58      27.05 |     27.31
-----------+----------------------+----------
       PET | 3,121,364  3,138,461 | 6,259,825
           |     49.86      50.14 |    100.00
           |     64.27      64.09 |     64.18
-----------+----------------------+----------
  adultosM |   395,444    433,833 |   829,277
           |     47.69      52.31 |    100.00
           |      8.14       8.86 |      8.50
-----------+----------------------+----------
     Total | 4,856,298  4,896,759 | 9,753,057
           |     49.79      50.21 |    100.00
           |    100.00     100.00 |    100.00

 
Observe que en las tablas anteriores deseamos contabilizar el número de personas en cada caso, no obstante puede ser que estemos interesados en obtener estadísticos como la edad  promedio de cada grupo cruzado, el índice académico promedio de algún grupo de la población o así sucesivamente, la edad máxima, la edad mínimo, la mediana… etc. Con este tipo de tablas nos ayuda el comando table, veamos algunos ejemplos.

Ejemplo 5. Edad promedio de la población por sexo, según grupo de edad
En el ejemplo siguiente observe nos amparamos del comando contents para especificarle que deseamos obtener en el cuerpo del cuadro. Tenga presente que en muchas ocasiones necesitamos modificar el formato en como aparecen nuestros datos.

table edadR sexo [fw=eft_factor_exp], contents(mean eft_edad ) row col format(%2.1gc)

----------------------------------
RECODE of |
eft_edad  |   RECODE of eft_sexo 
(EFT_EDAD |       (EFT_SEXO)     
)         | hombre   mujer   Total
----------+-----------------------
    Niños |    7.9     7.8     7.9
      PET |     34      35      34
 adultosM |     60      62      61
          |
    Total |     29      30      29
----------------------------------

Respecto a los estadísticos que puede contener el comando table, debemos verificar la ayuda del probrama.

help table

freq                 frequency
      mean varname         mean of varname
      sd varname           standard deviation
      semean varname       standard error of the mean (sd/sqrt(n))
      sebinomial varname   standard error of the mean, binomial distribution (sqrt(p(1-p)/n))
      sepoisson varname    standard error of the mean, Poisson distribution (sqrt(mean))
      sum varname          sum
      rawsum varname       sums ignoring optionally specified weight
      count varname        count of nonmissing observations
      n varname            same as count
      max varname          maximum
      min varname          minimum
      median varname       median
      p1 varname           1st percentile
      p2 varname           2nd percentile
      ...                  3rd-49th percentile
      p50 varname          50th percentile (median)
      ...                  51st-97th percentile
      p98 varname          98th percentile
      p99 varname          99th percentile
      iqr varname          interquartile range


Esta sentencia permite realizar tablas cruzadas por más de 4 variables. Ya anteriormente utilizamos el siguiente comando para obtener los resultados mostrados en la siguiente tabla, ahora usaremos el comando by, para repetir la instrucción ya sea por provincia, por zona de residencia, por sexo… o así sucesivamente.

table edadR sexo [fw=eft_factor_exp], row col format(%13.0gc)

-------------------------------------------------------
RECODE of |
eft_edad  |
(EFT_EDAD |        RECODE of eft_sexo (EFT_SEXO)      
)         |        hombre          mujer          Total
----------+--------------------------------------------
    Niños |     1,339,490      1,324,465      2,663,955
      PET |     3,121,364      3,138,461      6,259,825
 adultosM |       395,444        433,833        829,277
          |
    Total |     4,856,298      4,896,759      9,753,057
-------------------------------------------------------

Para hacer lo anterior, por ejemplo por zona nos amparamos de la opción by() en el comando table:
  
Ejemplo 4. Distribución de la población por sexo, según rango de edad
table edadR sexo [fw=eft_factor_exp], by(zona) row col format(%13.0gc)

-------------------------------------------------------
zona and  |
RECODE of |
eft_edad  |
(EFT_EDAD |        RECODE of eft_sexo (EFT_SEXO)      
)         |        hombre          mujer          Total
----------+--------------------------------------------
Urbano    |
    Niños |       857,642        873,543      1,731,185
      PET |     2,099,006      2,214,729      4,313,735
 adultosM |       231,353        289,649        521,002
          |
    Total |     3,188,001      3,377,921      6,565,922
----------+--------------------------------------------
Rural     |
    Niños |       481,848        450,922        932,770
      PET |     1,022,358        923,732      1,946,090
 adultosM |       164,091        144,184        308,275
          |
    Total |     1,668,297      1,518,838      3,187,135
-------------------------------------------------------


En la parte interna del comando by(zona) podemos colocar otras variables:

table edadR sexo [fw=eft_factor_exp], by(zona eft_computadora) row col format(%13.0gc)

Los resultados anteriores son sumamente útil cuando nos ayudan a resumir la cantidad de veces que repetiremos un comando en nuestro scritp. Pero también se puede obtener dicho resultado en una sola tabla solo re-ordenando el comando table.

table edadR sexo zona [fweight = eft_factor_exp], row col format(%12.0fc)

------------------------------------------------------------------------------------------------
RECODE of |
eft_edad  |                        zona and RECODE of eft_sexo (EFT_SEXO)                      
(EFT_EDAD | ---------------- Urbano ----------------    ----------------- Rural ----------------
)         |       hombre         mujer         Total          hombre         mujer         Total
----------+-------------------------------------------------------------------------------------
    Niños |      857,642       873,543     1,731,185         481,848       450,922       932,770
      PET |    2,099,006     2,214,729     4,313,735       1,022,358       923,732     1,946,090
 adultosM |      231,353       289,649       521,002         164,091       144,184       308,275
          |
    Total |    3,188,001     3,377,921     6,565,922       1,668,297     1,518,838     3,187,135
------------------------------------------------------------------------------------------------

 En el caso anterior debemos agregar la obpcion scol al final, para obtener la suma total, equivalente a la población en general.





Recodificación de Variables en R

  La recodificación de variables es una tarea esencial en el análisis de datos que nos permite transformar datos continuos en categorías más...