Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 30

INSTITUTO TECNOLÓGICO INDUSTRIAL BRASIL BOLIVIA

MACHINE LEARNINGY DATA SCIENCE


CON PYTHON
CARRERA: Informática Industrial
NOMBRE DEL DOCENTE: Edgar Salcedo Condori
SEMESTRE: 6to
ESTUDIANTES:

• Callisaya Viadez Hugo


• Mamani Vallejos Pamela Paola
• Torrez Quispe Samuel
• Villacorta Ramos Eduardo

EL ALTO - BOLIVIA
SEPTIEMBRE 2020
INDICE
INTRODUCCIÓN. ............................................................................................................................................... 3
MACHINE LEARNING. ....................................................................................................................................... 4
Tipos de machine learning ........................................................................................................................... 5
ANALISIS PREDECTIVO. ..................................................................................................................................... 6
LIMPIEZA Y PROCESAMIENTO DE DATOS. ........................................................................................................ 8
VISUALIZACIÓN DE DATOS. ............................................................................................................................ 11
Scatter ........................................................................................................................................................ 12
Histogramas ............................................................................................................................................... 12
Boxplot ....................................................................................................................................................... 13
REGLA DE STURGES. ....................................................................................................................................... 13
DATA WRANGLING - SIMULACION DE MONTE CARLO. ................................................................................. 14
Simulación de Montecarlo ............................................................................................................................. 16
REGRESIÓN LINEAL. ........................................................................................................................................ 19
Aplicación De Regresión Lineal Con Python ............................................................................................... 21
REGRESIÓN LOGÍSTICA. .................................................................................................................................. 24
Modelo Logístico ........................................................................................................................................ 25
FORMULA ................................................................................................................................................... 25
Regresión Logística Con Python ................................................................................................................. 30
BIBLIOGRAFÍAS ............................................................................................................................................... 30
INTRODUCCIÓN.

El lenguaje de programación Python se está consolidando como uno de los lenguajes más populares
para la computación científica. Gracias a su naturaleza interactiva de alto nivel y su ecosistema de
bibliotecas científicas en proceso de maduración, es una opción atractiva para el desarrollo
algorítmico y el análisis de datos exploratorios.
Sin embargo, como lenguaje de uso general, es cada vez más utilizado no solo en entornos
académicos sino también en la industria.
Aprovecha este rico entorno para proporcionar implementaciones de vanguardia de muchos
algoritmos de aprendizaje automático bien conocidos, mientras se mantiene una interfaz fácil de
usar estrechamente integrada con el lenguaje Python. Esto responde a la creciente necesidad de
análisis de datos estadísticos en las industrias de software y web, así como en campos fuera de la
informática, como biología o física.
MACHINE LEARNING.

Machine Learning es uno de los subcampos de la Inteligencia Artificial y puede ser definido como:
“Machine Learning es la ciencia que permite que las computadoras aprendan y actúen como lo
hacen los humanos, mejorando su aprendizaje a lo largo del tiempo de una forma autónoma,
alimentándolas con datos e información en forma de observaciones e interacciones con el mundo
real.”
El Aprendizaje Automático consiste en una disciplina de las ciencias informáticas, relacionada con
el desarrollo de la Inteligencia Artificial, y que sirve, como ya se ha dicho, para crear sistemas que
pueden aprender por sí solos.
Es una tecnología que permite hacer automáticas una serie de operaciones con el fin de reducir la
necesidad de que intervengan los seres humanos. Esto puede suponer una gran ventaja a la hora
de controlar una ingente cantidad de información de un modo mucho más efectivo.
Como estas acciones se realizan de manera autónoma por el sistema, se dice que el aprendizaje es
automático, sin intervención humana
Lo que se denomina aprendizaje consiste en la capacidad del sistema para identificar una gran serie
de patrones complejos determinados por una gran cantidad de parámetros.
Es decir, la máquina no aprende por sí misma, sino un algoritmo de su programación, que se
modifica con la constante entrada de datos en la interfaz, y que puede, de ese modo, predecir
escenarios futuros o tomar acciones de manera automática según ciertas condiciones. Como estas
acciones se realizan de manera autónoma por el sistema, se dice que el aprendizaje es automático,
sin intervención humana.

¿Cómo funciona el Machine Learning?


En la informática clásica, el único modo de conseguir que un sistema informático hiciera algo era
escribiendo un algoritmo que definiera el contexto y detalles de cada acción.
Los algoritmos que se usan en el desarrollo del Machine Learning realizan buena parte de estas
acciones por su cuenta. Obtienen sus propios cálculos según los datos que se recopilan en el
sistema, y cuantos más datos obtienen, mejores y más precisas serán las acciones resultantes.
Las computadoras se programan a sí mismas, hasta cierto punto, usando dichos algoritmos. Estos
funcionan como ingenieros que pueden diseñar nuevas respuestas informáticas, como respuesta a
la información que se les suministra a través de su interfaz u otros medios. Todo nuevo dato se
convierte en un nuevo algoritmo, y a más datos, mayor complejidad y efectividad de cálculo puede
proporcionar el sistema informático.
El mínimo que se recomienda es de 6 entradas de datos reales para cada respuesta nueva diseñada
La clave de la capacidad de un sistema de Aprendizaje Automático se encuentra en la construcción
y adaptación de los árboles de decisiones en base a los datos previamente conocidos por el sistema.
Pero también influye la aplicación de fórmulas heurísticas en los nodos que forman el árbol, para
el que se elabora un sistema de inferencias.

Tipos de machine learning

Un sistema informático de Aprendizaje Automático se sirve de experiencias y evidencias en forma


de datos, con los que comprender por sí mismo patrones o comportamientos. De este modo, puede
elaborar predicciones de escenarios o iniciar operaciones que son la solución para una tarea
específica.
A partir de un gran número de ejemplos de una situación, puede elaborarse un modelo que puede
deducir y generalizar un comportamiento ya observado, y a partir de él realizar predicciones para
casos totalmente nuevos. Como ejemplo, se puede considerar la predicción del valor de unas
acciones en el futuro según el comportamiento de las mismas en periodos previos.
Existen tres tipos principales de Aprendizaje Automático:
1. Aprendizaje supervisado:
Este tipo de aprendizaje se basa en lo que se conoce como información de entrenamiento. Se
entrena al sistema proporcionándole cierta cantidad de datos definiéndolos al detalle con
etiquetas. Por ejemplo, proporcionando a la computadora fotos de perros y gatos con etiquetas
que los definen como tales.
Una vez que se le ha proporcionado la suficiente cantidad de dichos datos, podrán introducirse
nuevos datos sin necesidad de etiquetas, en base a patrones distintos que ha venido registrando
durante el entrenamiento. Este sistema se conoce como clasificación.
Otro método de desarrollo del Aprendizaje Automático consiste en predecir un valor continuo,
utilizando parámetros distintos que, combinados en la introducción de nuevos datos, permite
predecir un resultado determinado. Este método se conoce como regresión.
Lo que distingue al Aprendizaje Supervisado es que se utilizan distintos ejemplos a partir de los que
generalizar para nuevos casos.
2. Aprendizaje no supervisado:
En este tipo de aprendizaje no se usan valores verdaderos o etiquetas. Estos sistemas tienen como
finalidad la comprensión y abstracción de patrones de información de manera directa. Este es un
modelo de problema que se conoce como clustering. Es un método de entrenamiento más
parecido al modo en que los humanos procesan la información.
3. Aprendizaje por refuerzo:
En la técnica de aprendizaje mediante refuerzo, los sistemas aprenden a partir de la experiencia.
Como ejemplo se puede observar el comportamiento de un coche autónomo. Cuando el vehículo
toma una decisión errónea, es penalizado, dentro de un sistema de registro de valores. Mediante
dicho sistema de premios y castigos, el vehículo desarrolla una forma más efectiva de realizar sus
tareas.
Es una técnica basada en la prueba y error, y en el uso de funciones de premio que optimizan el
comportamiento del sistema. Es una de las maneras más interesantes de aprendizaje para sistemas
de Inteligencia Artificial, pues no requiere de la introducción de gran cantidad de información.
El uso de algoritmos marcará la competitividad y la profesionalidad durante los próximos años
La tecnología del Aprendizaje Automático está sirviendo para recopilar y modelar el conocimiento,
con el fin de proporcionar información más específica y elaborar mejores herramientas de trabajo
para las personas. El uso de algoritmos marcará la competitividad y la profesionalidad durante los
próximos años.
Por ello, no son pocas las empresas que utilizan el machine learning en sus servicios y productos,
aprovechando los beneficios que puede reportar su aplicación, tanto para los procesos de sus
organizaciones como para mejorar la experiencia de trabajo y entretenimiento de sus clientes.

ANALISIS PREDECTIVO.

¿Qué es el análisis predictivo?


El análisis predictivo es el método estadístico que a través de la cobertura de datos de hechos que
ya sucedieron o están sucediendo puede obtener conclusiones de cómo se va a desarrollar
determinada actividad o qué tanto cambiará un comportamiento en el futuro. Para obtener estas
conclusiones, es necesario utilizar algoritmos que involucren de una u otra forma procesos de
inteligencia artificial.
Poder predecir un comportamiento depende de tantas variables que no sería factible que un
humano las tomara todas en cuenta, por lo que la automatización inteligente toma partido en este
asunto.
¿Cómo funciona la inteligencia artificial predictiva?
La inteligencia artificial no pretende solamente crear robots con características de humanos que
algún día puedan dominar el mundo. Muy por el contrario, podemos ver a la inteligencia artificial
usando un contexto más específico: así como los humanos pensamos, las máquinas también
pueden aprender a pensar. De eso trata el machine learning, también conocido como aprendizaje
automático.
Pero la inteligencia artificial predictiva va más allá. El machine learning se encarga de que una
máquina pueda aprender a clasificar, agrupar y especialmente calcular desarrollando algoritmos
formados a partir de un conjunto de datos otorgado previamente. Pero el análisis predictivo es el
que se encarga de interpretar y llevar a la práctica todos los datos obtenidos.
¿De qué forma se utiliza el análisis predictivo?
Los clientes no siempre responden igual, y hay que estar preparados para poder proporcionarles
los mejores productos y servicios. El análisis predictivo le sirve a las empresas para poder saber
cómo evolucionarán sus clientes y por ende, tener la posibilidad de adaptar, prevenir y programar.
Son los estadísticos los encargados de hacer el análisis predictivo, pues ellos son los que mejor
conocen la data a profundidad y tienen las herramientas para interpretarla. Este tipo de análisis
promueve la toma de decisiones siguiendo la metodología Agile, porque permite que se evalúen
supuestos según la necesidad y a lo largo del tiempo, lo que incentiva al trabajo en pequeños
grupos que planifiquen, analicen, diseñen, codifiquen, prueben y documenten, con la información
recogida.
¿Dónde se aplica el análisis predictivo?
Una empresa que necesita vender algún producto con objetivos a mediano plazo puede aplicar el
análisis predictivo después de poder inferir cómo se comportarán sus potenciales clientes y el
mercado. Asimismo, una compañía que maneje cobros puede poder calcular cómo y cuándo
podrán recuperar las pérdidas de los clientes morosos e incluso poder calcular cuándo un usuario
podría convertirse en un deudor.
No se necesitan cálculos manuales para hacer esto: muchos softwares de automatización pueden
ahorrar gran parte del trabajo, como los que ofrece WorkFusion.
También se han desarrollado métodos que sirven para detectar posibles datos fraudulentos,
debido a que el machine learning puede identificar patrones que el humano no había planteado.
Otro de los grandes usos es en el área de salud, pues el análisis predictivo está en la capacidad de
arrojar probabilidades de contracción o desarrollo futuro de diferentes enfermedades según la
historia médica del paciente.

LIMPIEZA Y PROCESAMIENTO DE DATOS.

La limpieza de datos es el proceso de detectar y corregir o eliminar registros corruptos o inexactos


de un conjunto de registros, tabla o base de datos y se refiere a la identificación de partes
incompletas, incorrectas, inexactas o irrelevantes de los datos, para su posterior sustitución,
modificación o eliminación de los datos sucios o poco precisos.

PASO 1. CARGAR EL CONJUNTO DE DATOS

Importación de las librerías


Lo primero que debes hacer es importar las librerías para el preprocesamiento de datos.
Hay muchas librerías disponibles, pero las más populares e importantes para trabajar con
datos son NumPy, Matplotlib y Pandas.
Cargar los datos en Pandas
Una vez que hayas descargado tu conjunto de datos y lo hayas nombrado como un
archivo.csv, deberás cargarlo en un DataFrame de Pandas para explorarlo y realizar
algunas tareas básicas de limpieza, eliminando la información que no necesitas y que hará
que el procesamiento de datos sea más lento.

PASO 2. EXPLORACIÓN DEL CONJUNTO DE DATOS

Compresión de los datos


Ahora ya tienes los datos con los que vas a trabajar, aunque se ha hecho varias
modificaciones básicas, aun así deberías dedicar algo de tiempo a explorarlos y comprender
qué función representa cada columna. Esta revisión manual del conjunto de datos es
importante para evitar errores en el análisis de los datos y en el proceso de modelado. Para
facilitar el proceso, puedes crear un DataFrame con los nombres de las columnas, los tipos
de datos, los valores de la primera fila y la descripción del diccionario de datos. A medida
que exploras las características, puedes prestar atención a cualquier columna que:

• este mal formateada,


• requiere más datos o mucho preprocesamiento para convertirse en una
característica útil, o
• contiene información redundante,
ya que estas cosas pueden dañar el análisis si se manejan incorrectamente.
También debes prestar atención a la fuga de datos, que puede hacer que el modelo se ajuste
demasiado. Esto se debe a que el modelo también aprenderá de características que estarán
disponibles cuando las utilizaremos para hacer predicciones. Necesitamos asegurarnos de
que nuestro modelo esté capacitado utilizando solo los datos que tendría en el momento
en el que realicemos una predicción
Decidir sobre una columna objetivo
Con un conjunto de datos procesados y explorados, es necesario crear una matriz de
variables independientes y un vector de variables dependientes. En primer lugar, debes
decidir qué columna utilizar como columna de destino para el modelado en función de la
pregunta que deseas responder.

Por ejemplo, si quieres predecir el desarrollo del cáncer, o la posibilidad de que el crédito
sea aprobado, necesitas encontrar una columna con el estado de la enfermedad o si
préstamo se concede o no, estas serán las columnas destinos para cada problema.

PASO 3. PREPARACIÓN DE LAS CARACTERÍSTICAS PARA MACHINE LEARNING

Finalmente, es hora de hacer el trabajo preparatorio para limpiar las características de los
algoritmos de Machine Learning. Para limpiar el conjunto de datos, es necesario manejar
los valores que faltan y las características categóricas, porque la matemática subyacente en
la mayoría de los modelos de Machine Learning asume que los datos son numéricos y no
contienes valores que faltan. Además, la librería Scikit Learn devuelve un error si se intenta
entrenar un modelo como la Regresión Lineal y la Regresión Logística utilizando datos que
contienen valores perdidos o no numéricos.
Manejar valores faltantes
Hay varias causas de que falten valores, a veces faltan valores porque no existen, o porque
la recopilación de datos es inadecuada o porque la entrada de datos es deficiente. Por
ejemplo, si alguien es menor de edad, y la pregunta se aplica a personas mayores de 18 año,
entonces la pregunta tendrá un valor que falta. En tales casos, sería un error rellenar un
valor para esa pregunta.

Hay varias maneras de rellenar los valores que faltan:

• Puedes eliminar las líneas con los datos si el conjunto de datos es lo


suficientemente grande y el porcentaje de valores perdidos es alto, más del
50%, por ejemplo.
• Puedes rellenar todas las variables nulas con 0, si se trata de valor numéricos.
• Puedes rellenar los valores perdidos con la media, media o el valor más
frecuente de la columna.
• También puedes decidir rellenar los valores que faltan con cualquier valor
que venga directamente después en la misma columna.
Estas decisiones dependen del tipo de datos, de lo que se quiera hacer con ellos y de la
causa de la falta de valores. En realidad, el hecho de que algo sea popular no significa
necesariamente que sea la elección correcta. La estrategia más común es utilizar el valor
medio, pero dependiendo de los datos, se puede llegar a un enfoque totalmente diferente.

Manejo de datos categóricos


Machine Learning solo utiliza valores numéricos, tipo de datos flotantes o enteros. Sin
embargo, los conjuntos de datos a menudo contienen el objeto como tipo de datos, por lo
tanto se hace necesario transformarlo en numérico. En la mayoría de los casos, los valores
categóricos son discretos y puedes ser codificados como variables ficticias, asignando un
número para cada categoría. La forma más sencilla es usar One Hot Encoder, especificando
el índice de la columna en la que quieres trabajar.

Tratamiento de fechas y horas


Un tipo específico de inconsistencia de datos es el formato de fechas, dd/mm/aa y
mm/dd/aa en las mismas columnas. Es posible que sus valores de fecha no estén en el tipo
de datos correcto, y esto no te permitirá realizar manipulaciones de manera efectiva y
obtener información de las mismas. Esta vez puedes utilizar el paquete datetime para fija
el tipo de fecha.

Escala y normalización
La escala es importante si necesitas especificar que una modificación en una cantidad no es
igual a otra modificación en otra. Con la ayuda del escalado, te aseguras de que aunque
algunas características son grandes no se usarán como predictor principal. Por ejemplo, si
se utiliza la edad y el salario de una persona en la predicción, algunos algoritmos prestarán
más atención al salario porque es más grande, lo que no tiene ningún sentido.

La normalización implica transformar o convertir el conjunto de datos en una distribución


normal. Algunos algoritmos como Máquinas Vectores de Soporte convergen mucho más
rápido en los datos normalizados, por lo que tiene sentido normalizar los datos para obtener
mejores resultados.

Hay muchas maneras de realizar el escalado de características. En pocas palabras, ponemos


todas nuestras características en la misma escala para que ninguna esté dominada por otra.

VISUALIZACIÓN DE DATOS.

Una buena visualización puede dar a quien la observa un sentido rico y amplio de
un conjunto de datos. Puede comunicar los datos de manera precisa a la vez que expone
los lugares en dónde se necesita más información o dónde una hipótesis no se sostiene.
Por otra parte, la visualización nos proporciona un lienzo para aplicar nuestras propias
ideas, experiencias y conocimientos cuando observamos y analizamos datos, permitiendo
realizar múltiples interpretaciones. Si como dice el dicho "una imagen vale más que mil
palabras", un gráfico interactivo bien elegido entonces podría valer cientos de pruebas
estadísticas.

Scatter

Un diagrama de dispersión es un diagrama en el que cada valor del conjunto de datos está
representado por un punto.

Histogramas

Un histograma es útil para ver la distribución de una variable, es decir, nos permite ver los
valores más comunes.
En el siguiente ejemplo deseamos ver la distribución de la cantidad media de habitaciones
en el estudio realizado.
Boxplot

En los gráficos Boxplot (o Box and Whiskers, más conocidos como Caja y Bigotes) se
representan los cinco números (mínimo, cuartil 1, mediana, cuartil 3 y máximo), lo que nos
puede ayudar a hacernos una idea de la asimetría de la distribución. Los gráficos de Caja y
Bigotes también permiten detectar valores atípicos y outliers.

La función para representar los diagramas de Caja y Bigotes es boxplot(). Como siempre, es
recomendable echar un vistazo a los argumentos de la función.

REGLA DE STURGES.

La regla de Sturges es un criterio utilizado para determinar el número de clases o intervalos que
son necesarios para representar gráficamente un conjunto de datos estadísticos. Esta regla fue
enunciada en 1926 por el matemático alemán Herbert Sturges.

Sturges propuso un método sencillo, basado en el número de muestras x que permitiesen


encontrar el número de clases y su amplitud de rango. La regla de Sturges es muy utilizada sobre
todo en el área de la estadística, específicamente para construir histogramas de frecuencia.
La regla de Sturges es aplicada principalmente en estadística, ya que esta permite realizar una
distribución de frecuencias a través del cálculo del número de clases (k), así como la longitud de
cada una de estas, conocida también como amplitud.

DATA WRANGLING - SIMULACION DE MONTE CARLO.

Data Wrangling
Uno de los errores más comunes de los proyectos de Big Data, es pensar que empiezan con
el análisis. Cualquier proyecto de Big Data necesita un paso previo para poder ser exitoso:
el Data Wrangling.
Los datos, en su forma natural (lo que llamamos “Raw Data”), suelen tener errores de
registro que imposibilitan un análisis exacto. Al ser registrados por distintos sistemas y
personas, es normal que terminemos con un fichero en el que un mismo valor esté
expresado de distintas maneras (por ejemplo, una fecha puede estar registrada como 28 de
Junio, o como 28/06 en una mismo archivo), pueden haber registros en blanco, y por
supuesto, errores gramaticales.
Al momento de hacer un análisis de esos datos, todos esos registros tienen que
reprocesarse. Es decir, se tiene que limpiar, unificar, consolidar y normalizar los datos para
que se puedan utilizar y lograr extraer información de valor. De esto va el Data Wrangling,
de preparar los datos para poder ser aprovechados.
Cómo Empezar a Hacer Data Wrangling

Antes de empezar hay que saber es que el Data Wrangling es un proceso largo. De hecho,
usualmente es lo que le toma más tiempo a un data analysts. De acuerdo a una encuesta
realizada en el 2017, un analista de datos puede pasar, en promedio, el 80% de su tiempo
en Data Wrangling.
Por la inversión de tiempo que implica el Data Wrangling, hay que tener muy claro que se
quiere obtener de los datos. Es decir, tener una pregunta clara con respecto al negocio.
Empezar a organizar los datos sin saber que se está buscando en ellos es el camino más
seguro al fracaso de esta clase de proyectos.
Una vez que tenemos una pregunta que buscamos responder a través de los datos, puede
empezarse el proceso de Data Wrangling.

Identificar los datos relevantes: una empresa de transporte digitalizada, tiene una cantidad
ingente de datos. No todos van a ser relevantes para cada inquietud que se tenga. Hay que
buscar los datos relacionados con la pregunta que queremos contestar.
Establecer un formato: en este momento hay que definir el formato en el que deben estar
los registros. En el ejemplo de la fecha, tocaría decidir si se deja el registro en números o se
deja mezclando números y letras. Todo debe estar escrito de la misma manera. Si un valor
se registra en números, siempre debe registrarse en números. Si un nombre se registra solo
con iniciales, debe registrarse siempre así.
Una buena idea es, paralelamente a esto, ir creando un manual con los formatos
establecidos para que todas las personas involucradas en el registro de la información estén
creando ficheros unificados.
Limpiar: una vez definido el formato, hay que asegurarnos de que todos los registros
cumplan con él, y además hay que eliminar registros en blanco, errores, y datos que no sean
relevantes para lo que queremos saber.
Agregar: a veces, será necesario agregar datos de otro fichero o incluso unir dos ficheros
distintos para poder hacer un análisis más exacto.
Validar los registros: después de asegurarnos que los datos están unificados y tenemos
todos los que necesitamos para el análisis, hay que validar que todos los registros sean
consistentes.

Simulación de Montecarlo
La simulación de Montecarlo es un método estadístico utilizado para resolver problemas
matemáticos complejos a través de la generación de variables aleatorias.
La simulación de Montecarlo o método de Montecarlo, le debe el nombre al famoso casino del
principado de Mónaco. La ruleta es el juego de casino más famoso y también el ejemplo más
sencillo de mecanismo que permite generar números aleatorios.
La clave de este método está en entender el término ‘simulación’. Realizar una simulación consiste
en repetir o duplicar las características y comportamientos de un sistema real. Así pues, el objetivo
principal de la simulación de Montecarlo es intentar imitar el comportamiento de variables reales
para, en la medida de lo posible, analizar o predecir cómo van a evolucionar.
A través de la simulación se pueden resolver desde problemas muy sencillos, hasta problemas muy
complejos. Algunos problemas pueden solucionarse con papel y bolígrafo. Sin embargo, la mayoría
requieren el uso de programas informáticos como Excel, R Studio o Matlab. Sin estos programas,
resolver determinados problemas llevaría muchísimo tiempo.

¿Para qué se utiliza la simulación de Montecarlo?

Es decir, casos concretos para entender la importancia del método. En economía la


simulación de Montecarlo se utiliza tanto en empresas como en inversión. Siendo en el
mundo de la inversión donde más se utiliza. Algunos ejemplos de simulación de Montecarlo
en inversión son los siguientes:
Crear, valorar y analizar carteras de inversión
Valorar productos financieros complejos como las opciones financieras
Creación de modelos de gestión de riesgo
Dado que la rentabilidad de una inversión es impredecible se utiliza este tipo de método
para evaluar distintos tipos de escenarios. Un ejemplo sencillo se encuentra en la bolsa de
valores. Los movimientos de una acción no se pueden predecir. Se pueden estimar, pero es
imposible hacerlo con exactitud. Por ello, mediante la simulación de Montecarlo, se intenta
imitar el comportamiento de una acción o de un conjunto de ellas para analizar cómo
podrían evolucionar. Una vez se realiza la simulación de Montecarlo se extraen una cantidad
muy grande de escenarios posibles.

Generación de números aleatorios

Un punto clave en la utilización de la simulación de Montecarlo es la generación de números


aleatorios. ¿Cómo generamos números aleatorios? Con programas informáticos. Ya que si
utilizásemos un mecanismo cómo una ruleta, esto podría llevarnos muchas horas.
Si queremos generar 10.000 números aleatorios, imaginad cuanto tiempo necesitaríamos.
Así pues, se utilizan programas informáticos que generan estos números. No se consideran
números puramente aleatorios, ya que los crea el programa con una fórmula. No obstante,
se parecen mucho a las variables aleatorias de la realidad. Se les denomina números
pseudo-aleatorios. Resuelto este problema, solo queda por ver una aplicación del método.

Ejemplo de la simulación de Montecarlo

Supongamos que queremos contratar a un gestor que realice operaciones por nosotros en
la bolsa de valores. El gestor presume de haber ganado 50% de rentabilidad durante el
último año con una cuenta de valores de 20.000 dólares. Para confirmar que lo que dice es
verdad, le pedimos su track record auditado. Es decir, el registro de todas sus operaciones
verificado por una auditor (para evitar estafas y cuentas falsas). El gestor nos facilita toda la
documentación y procedemos a valorar la cuenta de resultados.

Vamos a suponer que disponemos de 20.000 dólares. Introducimos las variables


correspondientes en nuestro programa informático y extraemos el siguiente gráfico:
Con los resultados facilitados por el gestor que queremos contratar, se han realizado 10.000
simulaciones. Además los resultados se han proyectado cuatro años. Esto es, 10.000
escenarios diferentes para esos resultados durante cuatro años. En la gran mayoría de
escenarios se genera una rentabilidad positiva, pero existe una pequeña probabilidad de
perder dinero. La simulación de Montecarlo nos facilita una infinidad de combinaciones
para evaluar escenarios de los que a simple vista no somos conscientes.
REGRESIÓN LINEAL.

La regresión lineal es un campo de estudio que enfatiza la relación estadística entre dos variables
continúas conocidas como variables de predicción y respuesta. (Nota: cuando hay más de una
variable predictora, se convierte en regresión lineal múltiple).

La variable predictora se denota con mayor frecuencia como “x” y también se conoce como variable
independiente.
La variable de respuesta se denota con mayor frecuencia como “y” y también se conoce como
variable dependiente.
Entonces, ¿cuál es el nuevo término relación estadística?

Antes de entrar en la relación estadística, debemos saber qué es la relación determinista. (Nota: la
regresión lineal no se trata de estudiar la relación determinista o funcional, sin embargo, debemos
conocer estas relaciones para comprender mejor la regresión lineal)
Relación determinista: La relación entre dos variables se llama determinista si una variable
determina perfectamente la otra variable.
por ejemplo, si conocemos el radio de un círculo, entonces podemos determinar perfectamente su
circunferencia como:
Circunferencia = 2 × π × radio
De manera similar, se sabe que la relación entre grados Fahrenheit y grados Celsius es:
Fahr = (9/5) × Cels + 32

Entonces, si vemos el gráfico anterior, está muy claro que los puntos de datos observados (x, y)
caen directamente en una línea sin ninguna desviación de la línea, lo que muestra que se
determinan perfectamente entre sí. Con un valor Fahrenheit determinado, determinará
exactamente un valor Celsius y viceversa.
Algunas otras relaciones deterministas son:
Ley de Hooke: Y = α + βX , donde Y = cantidad de estiramiento en un resorte, y X = peso aplicado.
Ley de Ohm: I = V / r , donde V = voltaje aplicado, r = resistencia e I = corriente.
Ley de Boyle: para una temperatura constante, P = α / V , donde P = presión, α = constante para
cada gas y V = volumen de gas.
Qué es la regresión lineal?: Relación estadística
• La variable de respuesta y es la mortalidad por cáncer de piel (número de muertes por
cada 10 millones de personas)
• La variable predictora x es la latitud (grados norte) en el centro de cada uno de los 49
estados en los EE. UU.
Podrías anticipar que si vivieras en las latitudes más altas del norte de los EE. UU., Estarías menos
expuesto a los dañinos rayos del sol y, por lo tanto, tendrás menos riesgo de muerte por cáncer de
piel. El diagrama de dispersión apoya tal hipótesis.

Parece haber una relación lineal negativa entre la latitud y la mortalidad debido al cáncer de piel,
pero la relación no es perfecta. De hecho, la trama exhibe cierta “ tendencia ” , pero también exhibe
cierta “ dispersión ”. Por lo tanto, es una relación estadística , no determinista.
Algunos otros ejemplos de relaciones estadísticas pueden incluir:
• Altura y peso: a medida que aumenta la altura, es de esperar que aumente el peso, pero no
perfectamente.
• Consumo de alcohol y contenido de alcohol en sangre: a medida que aumenta el consumo
de alcohol, es de esperar que aumente el contenido de alcohol en sangre, pero no
perfectamente.
• Capacidad pulmonar vital y paquetes de años de tabaquismo: a medida que aumenta la
cantidad de tabaquismo (según lo cuantificado por el número de paquetes de años de
tabaquismo), es de esperar que la función pulmonar (según lo cuantificado por la capacidad
pulmonar vital) disminuya, pero no perfectamente.
• Velocidad de conducción y millaje de gasolina: a medida que aumenta la velocidad de
conducción, es de esperar que disminuya el millaje de gasolina, pero no de manera perfecta.

Pongamos que necesitamos realizar una investigación para una empresa. Esta quiere saber la
relación entre las ventas de una empresa y sus gastos en publicidad. ¿Qué podemos hacer? El
análisis de regresión lineal nos permite saber en qué grado los gastos en publicidad explican la
variable ventas. Así, esta última variable será la variable dependiente del modelo, mientras que la
variable explicativa o independiente serán los gastos en publicidad.

Aplicación De Regresión Lineal Con Python


La regresión lineal es una de las técnicas más usadas en Machine Learning. Su fortaleza
estriba en su simplicidad e interpretabilidad. La regresión polinómica, como ya veremos, es
una extensión de la regresión lineal.
Regresión Lineal – Teoría
La regresión lineal es una técnica paramétrica de machine learning. Con «paramétrica»
queremos decir que incluso antes de mirar a los datos, ya sabemos cuántos parámetros (o
coeficientes) vamos a necesitar.
En el caso que estemos usando una sola variable, x, sabemos que una línea necesita 2
parámetros. La fórmula para la regresión lineal con una sola variable x es:
y = wx + b
y=wx+b
El aprendizaje consiste en encontrar cuáles son los mejores parámetros (coeficientes) para
los datos que tengamos. Los mejores coeficientes serán los que minimicen alguna medida
de error. Para la regresión lineal usaremos el error cuadrático medio.

Ejemplo de Regresión Lineal

Hemos usado una regresión lineal para encontrar los parámetros de la línea que minimiza
el error de los datos que tenemos. El proceso de aprendizaje consiste en estimar los
parámetros w y b. Así nos queda que, para estos datos, los mejores valores son:
w= 0.0918 \\ b = 1.2859
w=0.0918
b=1.2859
así que nos queda:
y = 0.0918x + 1.2859
y=0.0918x+1.2859
Podemos usar este modelo de regresión lineal para estimar cuáles serán los resultados para
otros valores de x. Por ejemplo, si queremos saber el resultado para x = 5, usaremos el
modelo anterior y veremos que el resultado es 1.7449:
y = 0.0918 \cdotp 5 + 1.2859 = 1.7449
y=0.0918⋅5+1.2859=1.7449
Este es un ejemplo muy simple. En realidad, los problemas de machine learning tienen
muchas más variables. Sin embargo, he escogido este ejemplo porque es muy fácil de
visualizar, explicar y entender. Espero que la intuición de este ejemplo sirva para entender
lo que está pasando cuando haya más variables.

¿Cómo funciona el algoritmo de regresión lineal en Machine Learning?


Recordemos que los algoritmos de Machine Learning Supervisados, aprenden por sí mismos
y -en este caso- a obtener automáticamente esa “recta”.

que buscamos con la tendencia de predicción. Para hacerlo se mide el error con respecto a
los puntos de entrada y el valor “Y” de salida real. El algoritmo deberá minimizar el coste de
una función de error cuadrático y esos coeficientes corresponderán con la recta óptima.
Hay diversos métodos para conseguir minimizar el coste. Lo más común es utilizar una
versión vectorial y la llamada Ecuación Normal que nos dará un resultado directo.
Ejemplos de regresión lineal simple usando Python
Regresión lineal simple en Python (con 1 variable)
REGRESIÓN LOGÍSTICA.

La Regresión Logística Simple, desarrollada por David Cox en 1958, es un método de regresión que
permite estimar la probabilidad de una variable cualitativa binaria en función de una variable
cuantitativa. Una de las principales aplicaciones de la regresión logística es la de clasificación
binaria, en el que las observaciones se clasifican en un grupo u otro dependiendo del valor que
tome la variable empleada como predictor. Por ejemplo, clasificar a un individuo desconocido
como hombre o mujer en función del tamaño de la mandíbula.
Es importante tener en cuenta que, aunque la regresión logística permite clasificar, se trata de un
modelo de regresión que modela el logaritmo de la probabilidad de pertenecer a cada grupo. La
asignación final se hace en función de las probabilidades predichas.
La existencia de una relación significativa entre una variable cualitativa con dos niveles y una
variable continua se puede estudiar mediante otros test estadísticos tales como t-
test o ANOVA (un ANOVA de dos grupos es equivalente al t-test). Sin embargo, la regresión
logística permite además calcular la probabilidad de que la variable dependiente pertenezca a cada
una de las dos categorías en función del valor que adquiera la variable independiente. Supóngase
que se quiere estudiar la relación entre los niveles de colesterol y los ataques de corazón. Para ello,
se mide el colesterol de un grupo de personas y durante los siguientes 20 años se monitoriza que
individuos han sufrido un ataque. Un t-test entre los niveles de colesterol de las personas que han
sufrido ataque vs las que no lo han sufrido permitiría contrastar la hipótesis de que el colesterol y
los ataques al corazón están asociados. Si además se desea conocer la probabilidad de que una
persona con un determinado nivel de colesterol sufra un infarto en los próximos 20 años, o poder
conocer cuánto tiene que reducir el colesterol un paciente para no superar un 50% de probabilidad
de padecer un infarto en los próximos 20 años, se tiene que recurrir a la regresión logística

Modelo Logístico

FORMULA

La regresión logística analiza datos distribuidos binomial mente de la forma

{\displaystyle Y_{i}\ \sim B(p_{i},n_{i}),{\text{ para }}i=1,\dots ,m,}


donde los números de ensayos Bernoulli ni son conocidos y las probabilidades de
éxito pi son desconocidas. Un ejemplo de esta distribución es el porcentaje de semillas (pi)
que germinan después de que ni son plantadas.

El modelo es entonces obtenido a base de lo que cada ensayo (valor de i) y el conjunto de


variables explicativas/independientes puedan informar acerca de la probabilidad final.
Estas variables explicativas pueden pensarse como un vector Xi k-dimensional y el modelo
toma entonces la forma

{\displaystyle p_{i}=\operatorname {E} \left(\left.{\frac {Y_{i}}{n_{i}}}\right|X_{i}\right).\,\!}

Los logits de las probabilidades binomiales desconocidas (i.e., los logaritmos de la razón de
momios) son modeladas como una función lineal de los Xi.

{\displaystyle \operatorname {logit} (p_{i})=\ln \left({\frac {p_{i}}{1-p_{i}}}\right)=\beta

_{0}+\beta _{1}x_{1,i}+\cdots +\beta _{k}x_{k,i}.}

Note que un elemento particular de Xi puede ser ajustado a 1 para todo i obteniéndose
una constante independiente en el modelo. Los parámetros desconocidos βj son
usualmente estimados a través de máxima verosimilitud.

La interpretación de los estimados del parámetro βj es como los efectos aditivos en el


logaritmo de la razón de momios para una unidad de cambio en la jésima variable
explicativa. En el caso de una variable explicativa dicotómica, por ejemplo

género, {\displaystyle e^{\beta }} es la estimación de la razón de momios (odds


ratio) de tener el resultado para, por decir algo, hombres comparados con mujeres. El
modelo tiene una formulación equivalente dada por:

{\displaystyle p_{i}={\frac {1}{1+e^{-(\beta _{0}+\beta _{1}x_{1,i}+\cdots +\beta

_{k}x_{k,i})}}}}

Esta forma funcional es comúnmente identificada como un "perceptrón" de una capa


simple o red neuronal artificial de una sola capa. Una red neuronal de una sola capa calcula
una salida continua en lugar de una función definida a trozos. La derivada de pi con respecto
a X = x1...xk es calculada de la forma general:

{\displaystyle y={\frac {1}{1+e^{-f(X)}}}}

donde f(X) es una función analítica en X. Con esta elección, la red de capa simple es idéntica
al modelo de regresión logística. Esta función tiene una derivada continua, la cual permite
ser usada en propagación hacia atrás. Esta función también es preferida pues su derivada
es fácilmente calculable:

{\displaystyle y'=y(1-y){\frac {\mathrm {d} f}{\mathrm {d} X}}\,\!}

Implementación práctica

Función logística con {\displaystyle \beta _{0}+\beta _{1}x+e} en el eje

horizontal y {\displaystyle \pi (x)} en el eje vertical.

La regresión logística unidimensional puede usarse para tratar de correlacionar la


probabilidad de una variable cualitativa binaria (asumiremos que puede tomar los
valores reales "0" y "1") con una variable escalar x. La idea es que la regresión logística
aproxime la probabilidad de obtener "0" (no ocurre cierto suceso) o "1" (ocurre el
suceso) con el valor de la variable explicativa x. En esas condiciones, la probabilidad
aproximada del suceso se aproximará mediante una función logística del tipo:1
{\displaystyle \pi (x)={\frac {e^{(\beta _{0}+\beta _{1}x)}}{e^{(\beta _{0}+\beta

_{1}x)}+1}}={\frac {1}{e^{-(\beta _{0}+\beta _{1}x)}+1}},}

que puede reducirse al cálculo de una regresión lineal para la función logit de la
probabilidad:

{\displaystyle g(x)=\ln {\frac {\pi (x)}{1-\pi (x)}}=\beta _{0}+\beta _{1}x,}

o una regresión exponencial:

{\displaystyle {\frac {\pi (x)}{1-\pi (x)}}=e^{(\beta _{0}+\beta _{1}x)}.}

El gráfico de la función logística se muestra en la figura que encabeza esta sección, la


variable independiente es la combinación lineal {\displaystyle \beta _{0}+\beta _{1}x}

y la variable dependiente es la probabilidad estimada {\displaystyle \pi (x)} . Si se


realiza la regresión lineal, la forma de la probabilidad estimada puede ser fácilmente
recuperada a partir de los coeficientes calculados:1

Para hacer la regresión deben tomarse los valores {\displaystyle X_{i}} de las
observaciones ordenados de mayor a menor y formar la siguiente tabla:

Valores Valor de Probabilidad


Logit
ordenados categoría estimada

X1 ε1 π(X1) g(X1)

X2 ε2 π(X2) g(X2)
... ... ... ...

Xn εn π(Xn) g(Xn)

Donde εi es "0" o "1" según el caso y además:

{\displaystyle 0\leq \pi (X_{i})={\cfrac {\sum _{k=1}^{i}\varepsilon _{k}}{i}}\leq


1,\qquad g(X_{i})=\ln \left({\frac {\pi (X_{i})}{1-\pi (X_{i})}}\right)=\beta _{0}+\beta

_{1}X_{i}}

En el cálculo de g pueden aparecer problemas al principio del intervalo si π(Xj) = 0 para


algunos valores

Ejemplo
Sea p(x) la probabilidad de éxito cuando el valor de la variable predictora es x. Entonces
sea

{\displaystyle p(x)={\frac {1}{1+e^{-(B_{0}+B_{1}x)}}}={\frac

{e^{B_{0}+B_{1}x}}{1+e^{B_{0}+B_{1}x}}}.}

Después de algún álgebra se prueba que

{\displaystyle {\frac {p(x)}{1-p(x)}}=e^{B_{0}+B_{1}x},}

donde {\displaystyle {\frac {p(x)}{1-p(x)}}} son las posibilidades en favor de


éxito.

Si tomamos un valor de ejemplo, digamos p(50) = 2/3, entonces

{\displaystyle {\frac {p(50)}{1-p(50)}}={\frac {\frac {2}{3}}{1-{\frac {2}{3}}}}=2.}

Cuando x = 50, un éxito es dos veces tan probable como una falla. Es decir,
se puede decir simplemente que los odds son 2 a 1.
Regresión Logística Con Python

BIBLIOGRAFÍAS

Cielen, D., Meysman, A., & Ali, M. (2016). Introducing data science: big data, machine learning, and more,
using Python tools. Manning Publications Co..

Sammut, C., & Webb, G. I. (2017). Encyclopedia of machine learning and data mining. Springer.

Raschka, S. (2018). MLxtend: providing machine learning and data science utilities and extensions to
Python's scientific computing stack. Journal of open source software, 3(24), 638.

Jordan, M. I., & Mitchell, T. M. (2015). Machine learning: Trends, perspectives, and
prospects. Science, 349(6245), 255-260.

Peyré, G., & Cuturi, M. (2019). Computational Optimal Transport: With Applications to Data
Science. Foundations and Trends® in Machine Learning, 11(5-6), 355-607.

Ferguson, A. L. (2017). Machine learning and data science in soft materials engineering. Journal of
Physics: Condensed Matter, 30(4), 043002.

Gutierrez, D. D. (2015). Machine learning and data science: an introduction to statistical learning methods
with R. Technics Publications.

Raschka, S. (2015). Python machine learning. Packt publishing ltd.

También podría gustarte