Stata y Jupyter Notebook: potencialidades y comandos de interacción.
Autor: Franco Andrés Mansilla Ibañez / Portafolio: Quantitative / Vie. 10 de Mar de 2023
Transcripción de este video
00:00:30:02 Somos un equipo autogestionado, responsable, proactivo y autónomo, con gran compromiso social, aportando el pensamiento científico y el desarrollo latinoamericano, promoviendo el uso de software para investigación en todas las áreas del conocimiento. Generamos contenido de alta calidad teniendo en cuenta las distintas necesidades del mercado.
00:00:55:16 Realizamos actividades gratuitas constantemente. Abordamos temáticas vigentes, aplicaciones especializadas y elementos metodológicos que te permiten interactuar y generar redes para la difusión de tus proyectos. Contamos con servicio de asesoría, consultoría y acompañamiento personalizado, certificaciones internacionales, entrenamientos especializados y talleres prácticos.
00:01:16:12 Nuestro principal objetivo es promover el uso de tecnología en el campo investigativo, generando un impacto significativo en la región y de esta forma contribuir a la creación de comunidad para compartir conocimiento. Te invitamos a ser parte de este gran equipo Software Shop.
00:01:40:07 Visita nuestra página web y conoce nuestros servicios. Software sobre la empresa líder en la implementación de herramientas analíticas y software especializado en Latinoamérica, les da la bienvenida a esta presentación. Esta sesión estará a cargo de Franco Mansilla, Ingeniero Civil Industrial, con Magíster en Finanzas en la Universidad de Chile.
00:02:02:11 Actualmente se encuentra trabajando como líder técnico en Inteligencia Artificial en el Banco de Crédito e Inversiones BSI en su país. Se ha desempeñado como analista en Investigación Económica y financiera para académicos de la Universidad de Chile y Banco Central de Chile, en temas de mercados, de capitales, eficiencia de mercado, riesgo financiero, econometría y estadística.
00:02:23:20 En el área académica ha sido catedrático en temas como probabilidad y estadística, econometría financiera, formulación y evaluación de proyectos y ramas de ingeniería como Investigación de Profesiones y Taller de Ingeniería Civil Industrial. Bienvenidos. Bueno, bienvenidos a esta nueva sesión de webcast en la que presentaré como.
00:02:45:09 Como principalmente utilizar stata utilizando dentro de los ambientes de Júpiter. Nota que cipalmente en esta presentación no ahora una una una taza de té previo. Principalmente quise mostrar ya desde un inicio cómo poder manipular. Estará utilizando o dentro esta ambiente de Júpiter?
00:03:05:04 Principalmente Júpiter es una herramienta que que se hizo muy demo, muy de moda por un tema de accesibilidad y visualización de los códigos. Entonces nosotros cuando programamos o cuando estamos solos programando algún modelo o haciendo una administración de una base de datos.
00:03:34:00 Es importante. Es importante cuando uno va creando cosas, va creando su propio orden por y entonces uno va ordenando a medida que va programando. Pero a la misma vez, uno también tiene que pensar en un futuro en que este código en algún momento tiene que ser presentado a un colega o A1A1 jefe o derechamente en una conferencia
00:04:00:06 Entonces, para no presentar algo que sea completamente que esté ordenado pero que sea algo puro código, existió lo que es Júpiter uno, dos, que es lo que te permite, es ordenar tu código. En cierta medida donde tú vas a tener tu línea de código por resultado, pero de forma tal que la persona que te está escuchando y
00:04:28:18 que está viendo tu notebook pueda puedas entenderlo. Bien, Stata. El fin de Stata usualmente son Duffy, que son feos entre comillas. Es decir, yo no mostraría un código en código de Duffy en una conferencia, principalmente porque no es algo fácil de seguir vivencialmente, porque por un lado, y tener la línea de código y por otro lado tengo
00:04:50:02 que tener el el interfaz donde muestran los resultados. Bien. Entonces, en parte, el notebook lo que ofrece es eso. Lo que ofrece es una integración entre líneas de código y a la vez una posible visualización de. De. De los resultados de Segovia.
00:05:20:23 Entonces lo que le quiero ir mostrando hoy día es cómo es Tata se cuelga sobre este notebook y podemos ejecutar derechamente. Códigos de stata utilizando Jupiter. Nota. Notebook Júpiter. Esta herramienta existen dos tipos, una que es como Twitter Labs, donde tu puedes visualizar acá lo carpetas derechamente y acá al lado está lo que es el notebook propiamente
00:05:52:23 tal. Y hay otro Júpiter que. Lo puedes ir viendo sin. Sin acceso a las carpetas. Entonces en más código y resultados. Aquí hay una combinación entre código, administración de carpetas, etcétera. Bien, entonces para poder utilizar Stata dentro de este ambiente Júpiter, nosotros tenemos que comenzar a instalar ciertas cosas, porque el lenguaje base de Júpiter es Python.
00:06:13:07 Entonces con ese lenguaje en Python tengo que declarar que voy a trabajar dentro de un ambiente estático. Entonces importo una librería perfecto, donde esta librería en parte tengo que llamar como tengo que llamar a una carpeta donde esta se encuentra instalado estado derechamente.
00:06:39:23 Bien. Y acá es donde nosotros ponemos ejecutar. Y acá voy a llamar a Stata o la configuración de Stata, que recuerden que se trata. Tiene tres como versiones ultra, una que es la versión como estudiante a la versión normal y esta versión que es de multi procesador en que mucho más potente para cuando quieres trabajar con mucho
00:07:06:04 más datos o los procesos o cierto modelo son mucho más pesados. Entonces lo que tenemos acá es esta tabla, solamente que dentro de la versión de de yo no se ya haber declarado eso, Júpiter dice oye, me tengo que cambiar de lenguajes del lenguaje Python a un ambiente derechamente que es estándar, como que llamó a ese.
00:07:23:00 A ese programa está. Qué es lo que sucede? De que en parte Júpiter sigue trabajando con Peyton. Entonces, si tú quieres poder trabajar con esta cosa, tú tienes que declarar en la celda que vas a utilizar un. Un.
00:07:41:03 Un un ambiente, un código estatal. Por lo tanto, tienes estas dos formas de cara con porcentaje, porcentaje, stata o porcentaje cada cual la diferencia entre uno y otro. Que porcentaje? Porcentaje. Tu vas a ejecutar varias líneas dentro de esta celda.
00:08:03:20 Del notebook. Y sí, tuve clara solamente una vez. Es que vas a ejecutar esa línea nomás de código dentro, ese mismo de dentro de esa misma celda. Por ejemplo, yo acá tengo porcentaje stata y llamo una base de datos Stata y acá porcentaje Stata y listo las primeras dos filas.
00:08:19:21 Acá perfectamente hubiese utilizado, por ejemplo, doble porcentaje stata. Una vez he llamado esto y a la vez es bien, pues si preguntamos esto aquí podemos observar de que se cargó hay alrededor. Esta base de datos tiene este nombre.
00:08:47:13 Bien. Y estas son las primeras dos filas de esta. Respecto. Por ejemplo, si queremos manipular información, vamos a cargar una base de datos que yo tengo acá. Que está perfecto. Exacto. Suena a la bondad que tienen The Notebook Labs, que en parte tu puedes bucear o navegar sobres las carpetas que tu tienes acceso.
00:09:09:19 Bien, entonces esta base de datos que tu tienes acá es una base de datos a nivel mundial en que tengo región, país y crecimiento de la población es a la cantidad de agua segura excepto proporción de aguas. Bien, entonces principalmente yo ejecuto esto.
00:09:33:10 Me dice el script Oye, mira, tienes tantas variables, tienes tantas observaciones, y cada una de tus columnas están principalmente codificadas con un string o con un float, o con un bit, etc y con el tipo de formato. Por acá tengo por ejemplo otra variable que en parte yo de esta misma base de datos que tengo acá le
00:09:49:15 quiero hacer un applet. Qué quiere decir un append? El decir que yo tengo esta misma base de datos, que la llamé base de datos uno y yo le quiero pegar otra base de datos con la misma estructura, es decir, la otra base de datos que acá la llamé otros registros.
00:10:09:22 Está en parte va a tener la misma configuración de región, país, crecimiento poblacional, etcétera. Bien, entonces lo que voy a hacer es que le voy a agregar más observaciones que agregar variables en otro sentido. Si yo, por ejemplo, me sumerjo.
00:10:27:20 El append es. Agrega información. Se agrega información hacia abajo. Bien, aquí va a haber una columna, una fila, 30, 31, etcétera Pero el match lo que hace es agregar más columnas. Aquí va a haber otra columna. Otra columna.
00:10:55:09 Otra columna. Bien. Es típico procesamiento de datos, administración de base de datos que tú puedes hacer en Stata, pero ahora lo puedes hacer derechamente en un. Bien, entonces. Aquí lo que hacemos es ejecutar el append. Perfecto. Entonces se dan cuenta que pasó de 29 observaciones, cinco columnas a 68 observaciones, cinco columnas.
00:11:12:16 El haber no modificó la cantidad de columnas y sino solamente modificó la cantidad de filas. Perfecto. Y por otro lado voy a ejecutar lo que es el match y el match, como les comenté que voy a agregar. No más filas, sino más observación.
00:11:31:23 Entonces cruzaron principalmente 68 68 observaciones. Se encontró un match adicional. Perfecto. Y acá lo que agrego es esta variable que es el yo per cápita, entonces tengo la misma cantidad de observaciones pero con más variables. Entonces se dan cuenta principalmente.
00:11:51:23 Es lo mismo o exactamente lo mismo que tú puedes hacer en Stata solamente con el default, solamente que acá tú estás utilizando los beneficios de los LO esto. Las celdas para ir negando un código mucho más ordenado y mucho más entendible.
00:12:10:00 Respecto de aquí, yo puedo comenzar a borrar variables. Por ejemplo, voy a borrar la variable merge. Bien hacer un análisis de varios bienes. Miras Safe Water I y PIB per cápita son que tienen 28 observaciones de mi inválido y cinco observaciones de mis impares.
00:12:29:04 Entonces voy a hacer un tratamiento claramente si tú esto lo estás haciendo para términos econométricos. No es recomendable hacer un tratamiento de mí sin varios. Por qué? Porque va a estar generando la data. Pero si tú buscas más, un modelo más de gestión, más poder predictivo, tú.
00:12:53:14 No hay ningún problema en hacer un tratamiento de inválidos, pero cumpliendo ciertos supuestos. Entonces aquí por ejemplo, estoy haciendo un sumara de esta variable y lo que voy a hacer a lo missing Valium del C de seis water, voy a reemplazar la media de las observaciones de esta misma variable a los varios.
00:13:14:00 Perfecto. A que gusto? Y observamos que esta es la tabla Humphreys. Me dice mira, reemplacé 28 valores que son los 28 valores que encontró en la tabulación de mis címbalos y la media que reemplacen. Eso, sin embargo, fue de 76.1.
00:13:45:23 Perfecto. Pudo haber utilizado otra medida, una mediana, una media, un rango, etc. Bien. Entonces aquí ya como otros. Otro análisis. Por ejemplo, puedo llamar lo que es el y único y debe el soft que es. Principalmente son herramientas que me permiten ver cierta estructura de la variable, es decir, cuántos únicos tiene, cuántos valores más se repiten dentro
00:14:16:11 de la variable, etc? Entonces yo ejecuto esto, voy a tener principalmente. Para la variable región. Tengo 68 valores. Perfecto. Y tres continentes o 60. Tengo 68 observación y tres continentes son regiones a nivel mundial. Bien. Y por otro lado tengo lo que es el set level soft de la región y aparte lista.
00:14:43:05 Cuáles son esos continentes? Por ejemplo, Tauro va hacia América, seguramente. Bien. Y puedo hacer exactamente lo mismo de odiar una región. Por ejemplo, esta región está en String y la quiero pasar a una a un formato numérico. Entonces yo lo que hago es en copiar esta variable región para pasar de un valor string a un valor numérico
00:15:11:04 y así poder hacer ciertas operaciones, por ejemplo. Bien a la de ahora en términos en términos de estadística descriptiva hay utilizando las mismas variables, por ejemplo, aplicar cierta estadística para todas las variables. Bien, aquí si se encuentra están las tres regiones o lo que son las distintos países en que es México, Eslovenia, Chile.
00:15:33:23 Bien, y lo que son la estadística descriptiva a nivel numérico de las variables que son numéricas. Perfecto. Entonces. Lo bueno de esto. En ocasiones. Por ejemplo. Acá hay una estadística más precisa. El punto de vista descriptiva. Ya viendo los distintos percentiles y sus medidas de tercer y 4.º momento.
00:15:52:15 Bien. Mi objetivo no es interpretar, es principalmente mostrar como aplicar estos distintos comandos. Destaca en Jupiter. Bien. Y por ejemplo acá yo ya comienzo a a, quiero guardar o empaquetar cierto resultado de esta estadística en ciertas matrices, por ejemplo.
00:16:13:19 Entonces ya yo yo. Para poder utilizar ciertas matrices de Stata para almacenar información. Yo puedo en parte hacer un loop, sacar información de estadísticas de cada una de las variables y esa información que necesito ir a guardar y guardarla.
00:16:41:10 Perfecto. Entonces, por ejemplo, yo acá ya comienzo a declarar todas las variables para un loop con C voy a toda la variable que son numéricas como crecimiento poblacional y per cápita, región, marca. Las pasé derechamente A1A1 global perfecto que se clon lo llamé equis y sobre esto ya puedo ir iterando.
00:16:57:08 Entonces aquí voy a recorrer toda la variable y sobre todo esta variable. Voy a hacer un sumas. Entonces acá tengo todo el suma de las variables que declare. Bien. Entonces aquí yo les comentaba de que en parte yo puedo tener una base de datos, es decir.
00:17:20:00 Yo puedo decir acá, Walter, acá. Yo puedo decir hoy. Mira, lo que pasa es que yo tengo todas estas variables que marque acá, pero yo necesito guardar la media, la desviación estándar mínimo y máximo, pero ordenada en una tabla, porque después yo esa tabla la quiero copiar y ponerla en un informe, por ejemplo.
00:17:44:22 Entonces. Yo acá lo que estoy haciendo fue creando una matriz. Dónde está Matriz? Le voy a colocar como nombre de columnas las variables, o sea, como fila en las variables y como medio y como columnas los estadísticos. Entonces voy a ir recorriendo todas las variables y aplicando la estadística atributiva y voy guardando su media desviación estándar, su
00:18:08:19 mínimo y máximo. En otras palabras, estoy haciendo algo así. Estoy haciendo una tabla. Dónde voy a tener la variable? Uno. La variable dos. La variable está. Donde cada una de estas variables van a tener su media, su desviación estándar, su mínimo.
00:18:31:06 Y su máximo. Entonces esta forma que yo le muestro acá es mucho más sencillo poder pescar esa tabla y llevarla a un word, a un latex, a un pdf que derechamente y está tomando cada uno estos valores y poner, copiar, pegar y copiarlo en un excel.
00:18:49:12 Bien, porque esta tabla que yo les mostré acá es una tabla que me va a permitir tomar toda la tabla ideal. Claramente nosotros la podemos hacer aquí en forma manual, porque tenemos cinco variables, cuatro variables, pero en ocasiones a mí me tocó hacer esto mismo para, supongamos 100 variables.
00:19:09:08 Entonces hacer 100 variables hacia abajo, donde cada una de estas variables me pide cuatro estadísticos, voy a estar 400 veces copiando y pegando. Entonces aprovecho las bondades de los loops y de las matrices para ir guardando información dentro de cada uno de los.
00:19:29:10 Bien, entonces aquí está Madrid, como les comenté. Lo nombre, los signos, el nombre, las filas, las columnas y voy recorriendo por cada una de las variables. Ejecutamos. Y mire, aquí está la matriz vacía. Comienza a correr el club.
00:19:55:08 Para cada una de las variables calcula su estadístico. Y después lo que tengo es esto. Esta es la matriz. Que en parte yo podría copiar y pegar en cualquier documento para un informe o una presentación. Bien. Esto mismo lo podría hacer con una nueva funcionalidad que creo stata que se llaman los frames y lo sufren, que son
00:20:18:20 cuando nosotros cargamos molestada. En estado cuando cargamos nuestra base de datos. Le hacemos el famoso import o llamamos un punto de tear nosotros. Esa data que se carga es un frame que se llama default. Bien. Pero creo que necesitará 16 estatuas.
00:20:38:13 Lo que propuso de decir. Oye, tú no solamente puedes crear un tipo de Frank. Dentro de esa misma sesión, cuando tú cargaste ya la data, puedes crear otro frame paralelo que se guarda en tu memoria. Perfecto donde tú, acá tú le puedes crear un nombre, por ejemplo, una tabla de resultados.
00:20:59:08 Entonces aquí puede ir guardando el resultado de que está separado por columnas. Va separado dos filas, al igual que con el frame que viene por default. Bien, entonces aquí lo que estoy haciendo prácticamente es crear un frame. Derechamente estando en Júpiter perfecto.
00:21:12:23 Uno Voy a decir oye, pero esto lo puedo leer estando el Estado, también lo puedo, está creando esto en Júpiter, donde acá yo, este Frank que cree le puse resultados estadísticos y la misma media media desviación estándar mínima.
00:21:30:05 Y en vez de guardar la tabla, los resultados del sumar seis en una tabla los estoy guardando en el frame que creé de resultados estadísticos utilizando lo que se llama el post. Se dan cuenta pasar de esto? Dos líneas de código.
00:21:52:00 Para guardar en un frame. A esto. Y mucho, ya mucho más distinto, porque acá si yo acá puedo tener más de cuatro estadísticos, puedo tener diez hasta chicos distintos, entonces acabo de tener diez filas de líneas de código para referenciar a que estadístico corresponde.
00:22:14:17 Acá ya no? Aquí es importante que tú le establezcas el orden correspondiente. Bien. Y aquí lo que hizo es ejecutarlo. Entonces, si lo queremos ver, podemos listar los primeros cuatro. Las primeras cuatro filas. Y vamos a observar la misma resultados que observamos acá.
00:22:35:15 Pero ahora cargas en un frame así como una base de datos, ya no en una matriz, derechamente utilizando mapa. Bien. Entonces. Lo bueno de esto es que si tú bien estás trabajando con Stata. Todo a la misma vez.
00:22:53:16 Puede estar trabajando con Python. Entonces, qué es lo que sucede de que supongamos que estos resultados que yo guardé en el frame, yo ahora no necesito cargar en Python, porque en Python necesito hacer, por ejemplo, un un modelo con esta base de datos.
00:23:19:08 Entonces ese modelo principalmente lo tiene una librería de Python. Entonces lo que puedo hacer yo llamar la librería by stata. Perfecto. Entonces lo que voy a hacer es que voy a llevar ese frame o data frame stata a data frame, python o data from pandas listando las variables que quiero, como importar para llevar de un data frame
00:23:38:16 a otro? Entonces al llevar. Esto es lo que tengo. Es un ahora un Dadá Feng que es pandas. Entonces por eso lo hice. Pre Data dos punto Head, que en parte es una función de Python. Todavía estoy utilizando con esta función.
00:23:55:05 Llevo un data fragmentada a un data Fray Python y ya con esto puedo listar lo que lo que tiene ese data frame. En que son los mismos resultados que se tuvo, que se obtuvo acá y que se obtuvo acá en los resultados en la matriz, por ejemplo.
00:24:21:06 Bien, entonces. Nosotros podemos ir haciendo un vaivén de juego de de utilizar Python a utilizar stata. Perfecto. O sea, en mi caso, yo utilizaba esta data, por ejemplo, para. Manipular información, mucha información. Efectos muy bueno. Estafa y rabia en forma de rabia.
00:24:36:12 Pero cuando quiero correr algún modelo muy específico, por ejemplo un cluster in, pero en vez de un plástico por distancia, creo ejecutar un plástico por densidad, por ejemplo. Eso no lo tienes nada. Entonces lo tienes. Lo tiene Seiko Orlan.
00:24:58:01 Entonces hay que hacer de picture. Entonces yo puedo pasar ese data free que ya lo trabajé, lo limpié, etcétera Lo paso a Payton y podría usar ese refrán que limpié, lo paso python tantas y ejecuto ese, esa librería que necesito, ese técnico que necesito ver.
00:25:23:08 Y ahora fácilmente yo podría exportar este resultados a un Excel. Quién parte y ahora debería estar en la cárcel en. En el correspondiente escritorio. Bien aquí. Les señalé que las primeras columnas. Hola. Disculpen. La primera fila son el nombre de las variables.
00:25:51:12 Perfecto. Ahora. Lo último que les quiero mostrar en términos de. En términos de resultados. Sólo que son modelos y extracción de resultados en términos de cuando tú votas un modelo perfecto. Me gustaría, por ejemplo, sacar ciertos. Ciertos estadísticos o ciertos gráficos para mostrar resultados, bien utilizando no solamente stata, sino también combinando stata con Python.
00:26:13:00 Entonces. Y yo acá cargo una base de datos. Auto. Y por qué le pongo? Porque en parte yo ya tengo una base de datos cargada. Entonces, para que no me tire error. Yo tengo que poder limpiar primero la base de datos, que ya viene por default para poder cargar una nueva.
00:26:37:22 Entonces es prácticamente la base de datos de ejemplo que tiene Stata, que tenemos alrededor de 12 o de 10 a 12 variables. Perfecto. Y acá lo que empiezo a ejecutar son los primeros regresiones, una regresión lineal que yo quiero estimar el precio con respecto a la variable 78 millas por quiero que mi es por galón y la
00:27:05:06 altura del auto. Bien, entonces aquí lo que tengo es. La misma regresión. Que no fuesen stata. Entonces aquí tengo 78 suficientes. Badiou. Todo lo que es cuadrado es cuadrado ajustado, como el la reina cuadrática, etcétera. Bien, todo el análisis ANOVA correspondiente.
00:27:26:02 Entonces yo aquí por ejemplo, voy a quiero separar base de datos, o sea la base de datos, entrenamiento y validación. Entonces en esta base de datos de entrenamiento, de validación en ocasiones. Ah, bueno, aquí cargué en un global las variables X.
00:27:45:04 Donde estas variables x están todas las variables. Por ejemplo, que no quiero que se encuentre un para variable independiente como es make que es una variable. Una variable es tren que la marca, el vehículo y el precio. Perfecto.
00:28:02:00 Y le digo que esto. Estas dos variables no las considere y me va listar todas las variables que no cumplan. O todas las variables que no se encuentren acá. Bien. Entonces todas esas variables la listo en el bar equis, que son millas por galón, altura, el peso, etcétera Bien.
00:28:19:21 Y después hago la separación entre muestras de entrenamiento, de muestras de validación. Y por qué hago esto? Principalmente porque cuando yo necesito poder entrenar un modelo, yo necesito poder validar qué tan bueno es mi modelo perfecto. Y tengo dos formas de hacerlo.
00:28:36:12 La primera forma es que yo haga el modelo con todas las observaciones y lo ponga en producción. Y ver sin producción funciona, no funciona. Pero eso tiene un riesgo muy importante, porque si el modelo llegase, cabe la posibilidad que el modelo es malo.
00:28:59:03 Es muy costoso asumir ese riesgo. Deben de tomar una decisión en malas. De ofrecer algo que no debería. No debería haber ofrecido por el. Por ese riesgo modelo. Etcétera entonces lo que se hace. Y en vez de poner el producción en producción, el modelo lo que se hace es que la muestra que tú tienes para entrenar el
00:29:18:04 modelo la separasen los. Entonces aquí lo que hace prácticamente tú dices Oye, esta es tu base de datos. Donde la base de datos la vas a parar en dos. Es decir, una parte va a ser el 70% y otra parte va a ser 30%.
00:29:40:21 Esta parte es la que tú vas a entrenar el modelo. Es decir, la que tú vas a utilizar para que el modelo aprendan los patrones necesarios para poder detectar lo que tú quieres hacer. Es decir, en este caso expreso bien luego que tú ya entrenaste tu modelo con este 70% de la base de datos, tú le vas
00:30:05:09 a aplicar este modelo a tu muestra de validación. Por qué? Porque tú quieres saber qué tan bueno o qué. Qué tan buenos son los patrones que dictó? Y si esos patrones que detectó son buenos, deberían calzar en términos de la muestra de validación y cómo uno ve si calzar o no calzaron utilizando diferente muestra.
00:30:33:16 Entonces yo voy a evaluar el modelo, por ejemplo, con la raíz cuadrática. Entonces, si la raíz cuadrática de entrenamiento. Supongamos dio 100 unidades monetarias. Y en la muestra de validación dio, supongamos 98 unidades monetarias. Es porque realmente el modelo pudo aprender patrones y esos patrones los encontró en la muestra de validación.
00:30:57:14 Pero en el caso de contrario, es que supongamos que la cuadrática K dio 100 por ejemplo, y acá dio 30 unidad monetaria, un error muy grande o muy distinto, lo que encontró en valía, en entrenamiento. Entonces ahí en parte claro, aquí cuando tú entrenaste el modelo con esta base, datos del 70%, lo más probable es que no
00:31:18:13 encontró patrones y no encontró detalles. Bien. Qué? Qué es lo que sucede cuando tú aplicas estos modelos al negocio? Aquí. Uno solamente tiene dos ventanas de desarrollo que se llaman entrenamiento y delegación. Si no tienes otra ventana de desarrollo.
00:31:39:22 Y por qué. Principalmente existe otra ventana de este radio que se llama O te usualmente que la out of time. Porque cuando tú haces modelos en los negocios, los modelos son costosos de desarrollar tanto el desarrollador como ponerlo en producción y validar el modelo.
00:31:53:12 Entonces tú quieres tener un modelo y ponerlo en producción y por lo menos que te dure un par de años o por lo menos un año o año, no ponerlo en producción y que te dure dos meses, tres meses y vuelve y volverlo a calibrar.
00:32:16:11 Y si utiliza esta muestra o dos time principalmente para validar eso, validar quitan. Bueno, puede ser el modelo en una ventana de tiempo muy alejada. Entonces supongamos que este 30 70. Tú conspiraste en la base Gato entre 2015 y 2000 y 2021.
00:32:41:14 Bien. Tú construiste este 30 y 70 con estos dos. Con estos seis años. Bien. La muestra Dustin. Va a ser 2022 2022. Y por qué? Porque en parte tú te aseguras que en un año. Logré capturar cierta estacionalidad.
00:33:01:12 Porque si el modelo captura estas finalidades, osea el modelo que necesito que me capture la gran. La gran mayoría de los patrones temporales que existen. Por lo menos en un año, puedo capturar ciertos patrones temporales. No puedo capturar un ciclo perfecto porque los siglos se ven entre 7 a 12 años.
00:33:19:05 Pero si, por ejemplo, una estacionalidad, una tendencia, excepto una estacionalidad, bien, entonces eso es lo ideal. Perfecto. Y ojo, acá también con considerar mucha información, porque tal vez que acá existe un corte transversal, un corte estructural, qué quiere decir eso?
00:33:37:14 Que justo, por ejemplo, en este. En esta época. Por lo menos supongamos que siendo un modelo para Chile, para un banco en Chile o una institución para Chile, acá en 2019 hubo una crisis social. Entonces algo sucedió el 2019.
00:34:01:13 2011 creo que también. Si no lo menciono, entonces algo sucedió con esa crisis. Sucedió entonces los comportamiento previo o antes del 2019 es distinto al comportamiento posterior a 2019. Entonces ahí también hay que tener un ojo. Sí, considerar información previo, una crisis a un corte, a un corte estructural que sea bien.
00:34:21:15 Pero idealmente acá también tener un periodo adicional, un periodo final de de un de la otros time que idealmente sea un año o mínimo seis meses. Ahora si no, si tú no tienes tanta información acá para construir el modelo, lo mínimo que tú tienes que tener.
00:34:41:21 Lo mínimo es un año. Un año como mínimo, por ejemplo, 2021. Por qué? Porque con un año te aseguras también de tener nacionalidades para que el modelo logre capturar esos patrones temporales. Si tú tienes tres meses. De información difícil.
00:35:05:15 Perfecto. Difícil. Porque? Porque en parte si tu después le aplicas este modelo que lo creaste con tres meses, se lo aplicas a una muestra de variación, a un otro. Hasta que tenga 12 meses va a ser diana. Naturalmente va a ser distinto, porque lo que pasó en tres meses con lo que entregaste tu modelo no se va
00:35:30:22 a replicar a algo o una muestra que tiene seis meses de historia. Repito, porque tiene componentes temporales que cambian. Entonces eso también hay que considerar. Por eso es la relevancia de las muestras, las muestras de desarrollo. Entonces nosotros acá como buscamos un poder, un modelo de poder que mejore el poder predictivo, más que un modelo relacional, lo
00:35:42:07 que yo busco son elevar al cuadrado ciertas variables, por ejemplo, es decir, todas las variables que definí aquí como X y la voy a llevar al cuadrado y también la podría elevar al cubo, pero solamente el cuadrado. Bien.
00:36:14:06 Bien, entonces liste todas las variables. Perfecto. Y acá lo que voy a hacer, que voy a crear. Voy a crear un frame que creo posee resultados métricas y acabo con el número de métricas. El. El asimétrico maven, el asimétrico para trim para entrenamiento y el asimétrico mate para variaciones, que son un tipo de métrica para evaluar un
00:36:31:05 modelo. Bien, no es el maven provee un mapeo especial que visualmente captura cierta simetría. Bien y listo. Todas las variables, excepto la variable make sample de la muestra Price. Entonces. Qué es lo que va a ir haciendo esto?
00:36:55:05 Qué es lo que hubiera haciendo esto? Esto va a ir haciendo un gráfico. O sea, va a ir guardando. Voy guardando en un gráfico. O. Disculpen. Frank. Aquí está nuestro fan. Aquí está el número de variables. El S para Train.
00:37:19:23 El número de variables. El tren hélice. El mapeo asimétrico del tren y el escape para test. Bien, entonces aquí va. Guardar número variable. Por ejemplo, utilizo una variable. Dio tal valor, tal valor o que son dos variables tal valor, Álvaro variable, tal valor, tal valor.
00:37:38:05 Entonces, lo que vamos a hacer después con esto es que lo vamos a graficar. Perfecto. Y aquí vamos a ver, por ejemplo, lo que son el número de variables. Y en ese mapa. Y aquí vamos a ver ciertas curvas.
00:37:53:15 Y por qué quiero hacer esto? Porque principalmente en ocasiones se dice que que no es cierto que entre más variables tenga el modelo va a ser un modelo que tenga mejor poder predictivo. Y yo acá les quiero mostrar que realmente no sucede eso, no son eso.
00:38:14:12 A veces lo que nosotros buscamos son modelos parsimonioso que decir, modelos que tengan muy pocas variables, pero esa muy pocas variables piquen la mayor cantidad de información posible. Perfecto. Y una forma de saber cuánto variable necesitamos en el modelo puede ser una solución.
00:38:32:17 Esta existen muchas más, pero esta es una de ellas. Entonces ejecutamos. Aquí va a ir recorriendo. Todas las variables van a un local donde este local va a tomar solamente la primera variable y la va a relacionar con la variable precio para la muestra entrenamiento.
00:38:50:17 Bien, y ahí va a ir guardando en ese mapa de entrenamiento lo hago guardando en el post. Ahí le puedo pasar el código para que lo analiza. Entonces, aquí la primera regresión. Los primeros valores. Segunda regresión. Se dan cuenta?
00:39:17:17 Están con dos variables. Esta primera regresión estuvo con una variable. Después. Tres variables. Después cuatro variables y bajan. Bajan para encontrar variables. O sea, aquí tiene el protocolo. Todo tiene 15 variables. Perfecto ojo. Claramente acaba en un problema de de grados de libertad porque con un método clásico tengo 16 variables.
00:39:33:22 49 observación el entrenamiento ya me está quitando 15 observación. Entonces voy a estar el modelo hasta trabajando con 30 observaciones bien, claramente, sin problema y pero mi objetivo con el comenté mostrarles directamente esto no y no interpretar resultados.
00:39:52:14 Bien, entonces ya teniendo todo. El frame guardado. La cantidad de variables en ese mapa de test y de ese mapa de tren podemos cambiarnos al frame porque estamos por el frente de foul donde está la base de datos y llevarlo a un data frame pandas python.
00:40:13:02 Entonces aquí lo que tenemos es una variable de estos resultados. Dos variables nos dio estos resultados tres variables, nos dio resultados entonces para verlo, no, no tan, no tan digital, sino más mal punto de vista gráfico, podemos utilizar lo que nos ofrece MAP Los Lib.
00:40:39:17 Consulte con su librería lo que es en términos de gráfico. Entonces acá podemos observar lo siguiente. Entonces aquí tenemos el número. Observaciones. Déjeme orar acá. Aquí tenemos el número de observaciones. Y aquí tenemos el ese map. La curva azul en ese mapa de entrenamiento.
00:40:59:04 Y la curva que es anaranjada es la de variación. Entonces. Al observar con una observación. Observamos de que tiene un ese mapache de cero 30 en la muestra de entrenamiento y un remate de cero 47 en la muestra de acción.
00:41:17:21 Esto ya prácticamente es un problema porque es lo que ocurre a lo que se le llama el el under fitting o el fitting. Bien, está aprendiendo mucho los detalles de lo que es, utilizando solamente una variable y al replicarlo, la muestra de variación está dando algo muy distinto.
00:41:34:14 En este caso falta información porque está con el under feeling más que un over fit perfecto. Con dos variables ocurre exactamente lo mismo y se dan cuenta? Va a comenzar a bajar. Y hasta que llegas se topan acá.
00:41:56:13 Y esto yo creo que esté entre seis variables, en seis variables la muestra de variación. Y entrenamiento son 25 en ese mapa. Entonces podríamos utilizar esas seis variables. Perfecto. Pero si después sigo viendo la cantidad de variables. Esto.
00:42:14:08 Después, en ese mate de la muestra de la lesión se dispara. Perfecto. Aunque queda constante. Se vuelvo a disparar. Esto es bajo. Entonces y acá, cuando ya tomó por ejemplo 18 variables, la muestra de variación de la muestra entrenamiento baja mucho.
00:42:36:20 Pasando a ser cero 19. Entonces, si se dan cuenta, esto es una forma de visualizar el comportamiento de una métrica de interés ante movimientos de la cantidad de variables que tú puedes utilizar. Claramente, para esto no puedes utilizar cuando tú quieres encontrar relaciones, es decir, utilizando la econometría.
00:43:00:19 Pero si. O para poder predictivo. Perfecto. Franco. En este momento estamos viendo una imagen en tu pantalla. No sé si coincide con lo que estás. Creo que estabas escribiendo algo. Si, estamos viendo solamente una imagen. Una gráfica. Ah, ya.
00:43:17:04 Perfecto. De que estoy hablando? Ah, vale. Pero si estamos escribiendo algo. No lo estábamos. Bien. Ah, perfecto. Vale. Ok, se. Pero, pero. Y esto es lo último principalmente como les comenté entonces. Esta es una forma de poder visualizar.
00:43:51:16 Esto es una forma de poder visualizar. Déjenme ver si lo veo. El. Sobre todo. No, no es esto. Ahí se puede ver. Estamos viendo la gráfica. Y ahí, ahí estoy gráfica. Estoy haciendo una línea. No, no me importa ya.
00:44:14:09 Pero bueno, jefe, fue un poco tarde para corregirlo. Sí, pero estaba haciendo unas líneas con un lápiz. Pero. Pero no importa. Principalmente como les comentaba. Y para finalizar son formas de poder trabajar seleccionando variables para introducirlas en nuestro modelos.
00:44:28:11 Como comenté, hacer esto en Stata con el Duffy se puede hacer. No hay ningún problema. Pero claro, tú tienes que tener a un lado lo que es el código. Y al otro lado lo que lo que arroja el código en términos de resultados.
00:45:00:09 Bien. Pero acá lo que ofrece Júpiter es derechamente lograr integrar lo que son los códigos. Y los resultados en una misma. En una misma ventana. Escrito. Entonces es importante que nosotros cuando queramos presentar ciertas cosas, podamos traspasar ese código de Stata a algo que es mucho más, mucho más atractivo visualmente, poder analizarlo utilizando esta herramienta de Twitter
00:45:24:13 no? Muchas gracias. Perfecto plan, como antes. Tengo algunas consultas que ir leyendo. Vale. Vale. He contestado. Bueno, cuando iniciaste la presentación, alguien nos preguntaba si el Júpiter. Que si lo que mostrabas era un Júpiter Lab de Google Kola.
00:45:41:17 O tenías conectado o almacenados algunos datos en tu drive. No, esto no es una cola, esto es una herramienta de Júpiter que yo la puedo ver de acá desde. No sé si está proyectando lo que déjeme compartir con.
00:46:08:09 Lo que es Anaconda Navigator, que es una plata, un sistema en donde yo puedo abrir el Yumi Tech propiamente tal. Batallas campales donde hay. Ahora? Sí. Entonces ahí. A la contra puede abrir porque el ABS o notebook de Júpiter derechamente yo acá tenía abierto por Júpiter Labs.
00:46:23:23 Perfecto, porque yo quiero interactuar acá con lo que son, lo archi o lo diferente, no? De acá, por ejemplo tengo un notebook abierto, la base de datos, etcétera. Pero no es un colapso. Eso es otra herramienta que ofrece un.
00:46:41:05 Ok, acá nos preguntan Hay alguna manera de utilizar algún paquete de Python cuando ya estás en un entorno de programación de Stata? O el beneficio de esto es solo en entorno de Júpiter que facilita el orden y la gestión de carpetas, no?
00:46:58:21 Principalmente nosotros cuando llamamos acá trabajamos con Stata. Derechamente nos pasamos o pasamos a ese data frame o esos resultados que están stata los pasa a un data Frank pandas de python. Entonces al hacer eso, que es esto lo que le estoy mostrando acá?
00:47:22:07 Voy a bajar directamente con las distintas herramientas que ofrece Byte la librería tanto. Ok. Nos preguntan que si también se puede utilizar mata. Si también. También se va a utilizar Mata. Porque la matriz que yo creé como contenedor acá para guardar el resultado de los testigos era un ambiente mata.
00:47:53:04 Para esto, para crear esta matriz acá arriba. Que sería esto? Yo utilice mata. Porque si tengo un dataset en Stata y otro en Python como sería el MERS el metro, tienes que llevar uno, uno o el otro a al como al otro lado.
00:48:13:14 Si quieres trabajar en el python dejas el data en python como estas y llevar los data que están cargados en stata a python o al revés derecho. Ok. La función Fremen está disponible también para versiones de Stata inferiores a Stata.
00:48:33:22 17. Disculpa. No te escucho. El último. Se está disponible en versiones inferiores al 17 a la 17. Sí, sí, sí. Al fin y al cabo esto es una herramienta que ofrece Júpiter integrándolo con esta la derecha, pero no al revés.
00:48:59:06 No hay que Stata e Stata permita Júpiter entrar en Estad, asintiera con Júpiter. Pero si se va a utilizar con otras versiones, tengo entendido, por lo menos le ha funcionado con la versión 16. Porque con cuantas variables se puede trabajar o hay un límite específico?
00:49:24:02 No principalmente con lo que te dé la máquina. Y lo que te destaca, porque recuerden que hay diferentes versiones entonces, pero hoy en día las versiones admiten muchos, mucha cantidad de variables y eso da el límite en función a tu computadora, específicamente a tu RAM, que tiene muy poquita RAM a permitir guardar muy poca información o data
00:49:43:21 en la medida en que la RAM. Aquí. Alguien nos estaba preguntando si es posible ejecutar Estad en Google Colors. No lo sé. No lo sé. Se podría disfrutar con Google Colapso. Bueno, no he revisado esa. Se puede. Se puede realizar esa funcionalidad?
00:50:04:16 Bien. Okay. Para interactuar estate Júpiter se necesita tener instalado el Stata. Se puede trabajar grandes volúmenes de datos. Buenas, creo que ya respondiste hace un momento. Si no, pero eso se puede. O sea, hay que tener instalada estada para poder integrarlo con mi twitter.
00:50:27:00 Por si se dan cuenta acá yo estoy llamando en la labor la url dl o la ubicación. La localidad destapa. Porque necesito que llegue a esta carpeta y para poder leer. Ok. Cuál sería el comando para pasar un data prem de pandas a una base de stata?
00:50:48:22 Esta misma. Pero solamente hay que leer el manual para poder qué pedir. Qué necesitas para esta misma? Pero necesitas acá definir otro, otro comando de la misma librería para pasar de un data Frank Python a un. A una.
00:51:10:09 A una base de datos de. A una base. A dos de esta. Lo vale como intercambio entre un data Freddie importado con Stata y el notebook y un data frente pandas para manipularlo. No voy a repetirlo. Espero que la textual.
00:51:35:14 Cómo intercambio entre data from importado con data en el notebook y un data frame de pandas para manipularlo o el frame importado con esta ta es un notebook. Lo puedo manipular directamente con funciones y métodos de Python. O sea, cuando tú estás cargando un el, la base de datos en Stata tiene que J o utilizar la herramienta
00:52:07:16 STATA. No puede utilizar herramientas Python para trabajar sobre una base dado que está cargado en estado. Que nos preguntan que diferencia hay entre Jupiter, Notebooks y la. Ya tuvieron notebook. Labs es principalmente LAB lo que te permite interactuar con unas carpetas, ver otros archivos.
00:52:24:04 Por ejemplo, aquí estoy viendo otro proyecto. Aquí estoy viendo una base de datos. En cambio, en Júpiter solo corresponde a F. No lo puedo hacer. Derechamente estoy trabajando sobre ese sobre en Júpiter, pero no puedo ver otro Júpiter a no ser que me pase a este.
00:53:02:17 Al que habita al lado. Perfecto. Ok. Cuándo tenemos más preguntas? En el momento que es adicional. Algún comentario antes de finalizar? Bueno dejarlo invitado al curso que tenemos grabado con software, hecho que hablan sobre estos temas también de de programación iterativa, utilizando esta viendo algún algoritmo de machine learning en esta área y también machine learning avanzado en
00:53:28:22 esta. Así que lo dejo invitado para que puedan visualizarlo. Perfecto Franco, muchas gracias por esta presentación, muy interesante. Puedo ver a todos nuestros asistentes. Muchos están preguntando por la grabación en este momento les voy a darle formación en el chat para que puedan acceder a ella en el transcurso de la siguiente semana.
00:53:47:14 También los pies. Si podrías compartir el código que utilizaste. Perfecto. Se lo mando, se lo mando a Lisa y le está. Exacto. Y es en este momento. Tienes algún correo electrónico de nos pueden escribir para mayor información, así que bueno, los invitamos a que sigan conectados en nuestros webcast semanales.
00:54:05:17 Visita nuestra página web triple punto Shot Shop punto com. Con gusto les enviaremos información si nos escriben al correo sobre capacitación, licenciamiento y demás inquietudes que tengan franco. Nuevamente muchas gracias por tu parte, por tu presentación, nos veremos en una próxima oportunidad.
00:54:29:15 Muchas gracias. Que estén muy bien. Buen fin de semana. Un abrazo grande Franco. Igual gracias a todos los asistentes. Feliz resto de día y hasta pronto. Chao. Para mayor información respecto al software o en temas relacionados, no dude en contactarnos a través del correo electrónico, entrenamientos a software on Ya.com o visitar nuestra página web triple OLE o
00:54:32:08 punto software guión shop. Punto com.
Stata y Jupyter Notebook: potencialidades y comandos de interacción.
En la actualidad, se cuenta con diferentes herramientas y lenguajes de programación que facilitan la aplicación de diferentes métodos analíticos. En esta presentación se abordará la utilidad de integrar una herramienta estadística robusta como Stata en una plataforma que permita no solo observar el código de forma ordenada y limpia, sino también combinarla con un lenguaje de programación como Python.
Etiquetas relacionadas
- Estadística
- Investigación
- Investigadores
- Python