No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Regresi贸n Lineal

23/24
Recursos

Aportes 84

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Algunas librer铆as de visualizaci贸n de Python:

Para evitar la fatiga:
https://colab.research.google.com/

asi como se puede aproximar con una funcion lineal se puede aproximar con funciones de mayor grado (cuadraticas, cubicas鈥), con la particularidad que a mayor grado tenemos mejor aproximacion.

en la linea coeffs = np.polyfit(x, y, 1), el 1 se refiere al grado del polinomio, si colocas un 2 tendras los coeficientes para un polinomio del tipo ax**2 + bx + c

Desarrolle un guante que en base a la presi贸n ejercida (detectada por un sensor), se calculaba la cantidad de newtons, como matem谩ticamente se sabe que hay una relaci贸n directa entre presi贸n y fuerza, para poder convertirlo directo lo que hice fue ejercer una presi贸n constante con diferentes pesos, y calcule la fuerza ejercida. Luego hice una regresi贸n que resulta ser una logar铆tmica. Y esa formula es la que implemente en el software para que el mismo calcule la fuerza dada.

Amo con mi vida Colab!!! es la mejor herramienta :3

Cualquier venta o resultado a tr谩ves del tiempo podr铆a visualizarse como una funci贸n lineal para ver si hay crecimiento conforme el tiempo con base en un his贸rico.

Hola! Comparto un c贸digo que emula la regresi贸n lineal ; dando la recta que mejor se acople a la nube de datos 馃槃

def operacional_function():
    lista_xi=[]
    lista_yi=[]
    cantidad_de_xi = int(input("Hola, ingresa la cantidad de datos de la variable independiente: "))
    for i in range(cantidad_de_xi):
        xi=float(input("Ingrese el {}) valor de x: ".format(i+1)))
        lista_xi.append(xi)
        yi = float(input("Ingrese la {}) etiqueta:".format(i+1)))
        lista_yi.append(yi)
    sumax=contador(lista_xi)
    sumay=contador(lista_yi)
    mediax=promediador(sumax,len(lista_xi))
    mediay=promediador(sumay,len(lista_yi))
    productoxy=multiplicador(lista_xi,lista_yi)
    suma_cuadrados=cuadrado_de_sumas_x(lista_xi)
    
    n=len(lista_xi)
    
    
    pendiente = ((sumax*sumay)-(n*productoxy)) / (((sumax)**2)-(n*suma_cuadrados))
    print(pendiente)
    bias = mediay-(pendiente*mediax)
    print(bias)
    print("La ecuaci贸n de la recta m谩s optimizadora es {}x + {} = y".format(pendiente,bias))
    valori = int(input("Ingrese un valor para predecir con nuestro modelo: "))
    respuesta = (pendiente*valori) + bias
    print("La prediccion es de  {}.".format(respuesta))






def contador(lista_random):
    acumulador=0
    for numero in lista_random:
        acumulador = numero + acumulador
    return acumulador

def promediador(suma,n_datos):
    media=suma/n_datos
    return media

def multiplicador(lista1,lista2):
    acumulador=0
    for i in range(len(lista1)):
        acumulador = acumulador + lista1[i]*lista2[i]
    return acumulador

def cuadrado_de_sumas_x(lista):
    acumulador = 0
    for numero in lista:
        acumulador = acumulador + numero**2
    return acumulador



if __name__ == "__main__":
    print("Hola, calcularemos una recta que se adecua a la nube de puntos de un problema de regresion lineal")
    operacional_function()    
    

genial quisiera que en la universidad me hubiesen ense帽ado estad铆stica con python y colab

El consumo de gasolina en un auto con respecto a los kilometros recorridos, o su velocidad

David,

Defnitivamente explicas muy bien.

Excelente !!!

No existe la palabra polinominial, es polinomial.

Ya hab铆a usado esta librer铆a en MatLab pero realmente en Python fue mucho m谩s facil

Toca hacer una serie de cursos de Econometr铆a en Platzi.

Pudi茅ramos realizar una regresi贸n lineal, con respecto al consumo de energ铆a te贸rico de una industria y el consumo experimental.

<h1>Explicaci贸n mas a fondo de regresi贸n lineal:</h1>

https://www.youtube.com/watch?v=gfs5bp2j_bA

<h1>Explicaci贸n para el calculo de los coeficientes de manera anal铆tica:</h1>

https://www.youtube.com/watch?v=gUdU6BgnJ2c

Stack de data scientis:

  • Python
  • Jupyter Notebooks
  • Pandas
  • Numpy
  • nltk (text mining)
  • matplotlib (graficos)

Un v铆deo de un canal incre铆ble con mucho material que vale mucho la pena ver!

https://www.youtube.com/watch?v=k964_uNn3l0

En el sentido estricto en esta clase no se vio una regresi贸n lineal, fue un ajuste por m铆nimos cuadrados en el cual se aproximo a una recta que se relaciona a nuestros datos, y no una funci贸n.

https://github.com/karlbehrensg/programacion-dinamica-y-estocastica
Regresi贸n Lineal

La regresi贸n lineal nos permite aproximar una funci贸n a un conjunto de datos obtenidos de manera experimental. No necesariamente permite aproximar funciones lineales, sino que sus variantes permiten aproximar cualquier funci贸n polin贸mica.

Para ver un ejemplo de regresiones lineales en Python en el siguiente enlace puedes acceder a ver un ejemplo: Collab - Regresi贸n Lineal.

Ejemplo de regresi贸n lineal
En gases: A mayor presi贸n ejercida menor volumen ocupado

Para cu谩ndo el Curso de Jupyter y python?

Con todo respeto, considero que este curso deber铆a estar en un nivel m谩s avanzado. Se explican las cosas de forma poco clara para aquellos que no tienen conocimientos s贸lidos del tema.

Muchos detalles adem谩s, son pasados de largo, y no se explican para qu茅 funcionan.

No entend铆a 馃様

Tenia un par de conceptos sueltos sobre regresion lineal

Pero este articulo de IBM me ayudo a entender mejor todo y reforzar conocimiento

Acerca de la regresi贸n Lineal - IBM Mexico

Importante que en pr贸ximos cursos se pueda ahondar mucho m谩s sobre este tema de regresi贸n porque lo amerita much铆simo. Un tema fundamental tambi茅n para aplicar la regresi贸n lineal es el saber el coeficiente de correlaci贸n entre las variables que queremos analizar. Dejo un video para que se profundice m谩s en el tema: https://www.youtube.com/watch?v=aKsjilxc5ww&ab_channel=Estadigrafo*

import numpy as np
import matplotlib.pyplot as plt

x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([5, 7, 9, 10, 15, 10, 14, 17, 11])

coefficients = np.polyfit(x, y, 1) # 1 refers to the degree of the polynomial
m, b = coefficients[0], coefficients[1]
fit_y = (m*x) + b

fig, ax = plt.subplots(figsize=(5, 5))
ax.plot(x, fit_y, color='b')
ax.scatter(x, y, color='r', s=10)
ax.set(xlabel='X', ylabel='Y', title='Simple Linear Regression Example')
ax.grid()
plt.show()

Dejo una peque帽a variaci贸n del codigo para que vean como es el comportamiento de la regresi贸n inclusive con numeros aleatorios!

import numpy as np
import matplotlib.pyplot as plt
import random


x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11])
y = np.array([random.randint(-5, 20) for i in range(len(x))])

coeffs = np.polyfit(x, y, 1)
print(coeffs)

m = coeffs[0]
b = coeffs[1]

est_y = (m * x) + b

plt.plot(x, est_y)
plt.scatter(x, y)
plt.show()```

En termodin谩mica, la ecuaci贸n de estado de los gases ideales establece que para el gas ideal la multiplicaci贸n de la presi贸n con el volumen tiene una relaci贸n lineal con la temperatura, as铆 PV = nRT. Para demostrar esto, se puede hacer un experimento a volumen y moles (n) constante, donde se mide la presi贸n a diferentes temperaturas, con estos datos se hace una regresi贸n lineal y se calcula R, si el valor de R es muy cercano a la constante universal de los gases, el gas evaluado se comporta como ideal, si es muy alejado no se comporta como ideal y hay que usar otro tipo de ecuaciones no lineales para modelarlo.

Gracias por el tip de colab

El n煤mero de horas totales de los usuarios en Platzi seg煤n los usuarios totales.

El aumento de la temperatura de una olla con agua respecto al fuego que se le aplique.

Consejo los cursos siguientes no van a usar Google Colab, sino van a usar Jupyter Notebook y Anaconda

me encanto yo odio hacer todas las cuentas es horrible y aka es super facil le dec铆s la pendiente y un punto.

Aplicando regresi贸n Lineal con Seaborn:

import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt

# Generar datos de ejemplo
np.random.seed(0)
x = np.random.randn(100)
y = 2 * x + np.random.randn(100)

# Crear un DataFrame con los datos
data = pd.DataFrame({'X': x, 'Y': y})

# Crear un gr谩fico de dispersi贸n con l铆nea de regresi贸n
sns.lmplot(x='X', y='Y', data=data)

# Guardar la imagen en un archivo
plt.savefig('regresion_lineal.png')

# Mostrar el gr谩fico
plt.show()

Hola a todos 鉁, a continuaci贸n les dejo un link a un video de DotCSV donde explica a mayor detalle y profundidad la regresi贸n l铆neal, espero les sea de ayuda como lo fue para mi 馃槃

https://www.youtube.com/watch?v=k964_uNn3l0

me han interesado todos los temas, especialmente:

  • campos muestrales

  • generaci贸n de conjuntos aleatorios

  • verificacion de probabilidades en esos conjuntos

  • no voy a trabajar con n煤meros, pero si con otros objetos

  • gracias David.

Creo que proyectar la evoluci贸n de cartera de clientes en una instituci贸n financiera con datos hist贸ricos pueden tener una funci贸n lineal. variable dependiente a帽o y variable dependiente saldo de cartera de cada gesti贸n.

Actualmente en mi curso de Metaheur铆sticas, estoy aprendiendo Regresi贸n Lineal en Matlab. Con un dataset sobre la presi贸n arterial, edad, y peso de pacientes. Calculamos los pesos del modelo que disminuyan el RSS para predecir la presi贸n arterial.

Con esta herramienta podemos obtener la pendiente de la relaci贸n entre el 铆ndice refracci贸n del aire a cierta presi贸n.

Con las t茅cnicas de regresi贸n lineal, podemos encontrar las diferencias entre la realidad y las matem谩ticas.

Tenemos plot, dentro de matplotlib.pyplot, para hacer una gr谩fica de ciertos valores, luego scatter para hacer una gr谩fica por puntos, y luego la funci贸n show, para que salga por consola la gr谩fica.

Cada uno de los rect谩ngulo o espacios con C贸digo, se les llama code segment, debido a que son "particiones" de c贸digo.

Recordemos que una funci贸n lineal, es mx + b

Para tomar nuestros coeficientes, podremos utilizar, polyfit, que recibe la x, la y para que dividido por otra coma, pongamos el coeficiente de nuestro polinomio.

El ambiente en el que podemos experimentar con ciertos c贸digos, lo llamamos, Jupyter Notebook.

La t茅cnica de regresi贸n lineal, puede apr贸ximar, cualquier funci贸n polinomial.

La regresi贸n lineal, nos permite aproximar un conjunto de daots obtenidos, de manera experimental a una funci贸n que investigamos, esta 煤ltima no tiene por qu茅 ser lineal

Regresiones lineales
Aproximaci贸n de un conjunto de datos obtenido a una funci贸n (no necesariamente lineal). Es decir obtenemos una formula que se aproxima lo mejor posible a nuestros datos.

Notas:
polyfit(array1, array2, n) 鈫 m茅todo de la librer铆a numpy que nos permite generar una regresi贸n polinomial (de grado n) y devuelve los par谩metros de la funci贸n (en el caso de la regresi贸n lineal a (o m) y b)

Aqui informando que apenas termin贸 la ejecucion de mi Fibonacci de 100 de la clase 3 de Opimizacion de Fobonacci de manera recursiva

INCREIBLE

1.- Funciones lineales y sus elementos
Una funci贸n lineal es una funci贸n cuyo dominio son todos los n煤meros reales, cuyo codominio tambi茅n todos los n煤meros reales, y cuya expresi贸n anal铆tica es un polinomio de primer grado.

La funci贸n lineal se define por la ecuaci贸n f(x) = mx + b 贸 y = mx + b llamada ecuaci贸n can贸nica, en donde m es la pendiente de la recta y b es el intercepto con el eje Y.
Por ejemplo, son funciones lineales f(x) = 3x + 2 g(x) = - x + 7 h(x) = 4 (en esta m = 0 por lo que 0x no se pone en la ecuaci贸n).

Excelente profe gracias

Parece que es m谩s c贸modo hacer una regresi贸n con Python que con Excel.

Qu茅 buen curso :3

Esto se aplica a los modelos de machine learning de regresion lineal

Un tipo de datos que pueden realizarse tambi茅n con regresi贸n lineal seria el sueldo de una persona en base a los a帽os de educaci贸n.

funciones lineales como la resistencia de un resistor vs temperatura(dependiendo resistor), velocidad vs tiempo(aceleraci贸n es una constante), inter茅s simple鈥

Tambien pueden usar jupyter e instalar numpy, lo cual me parece mas efectivo
pip install numpy

Interesante si pueden a帽adir el tema de contraste de hip贸tesis (Ho, Hi) que es una aplicaci贸n importante de las distribuciones normales

las emisiones de carbono de un autom贸vil a lo largo del tiempo

mmm polinomial o polinolimial?

gran parte de las curvas de calibracion de los equipos electronicos se basan en este prinicipio matematico, sumado a uno quimico (analizadores) o fisico (Equipos metrologicos)

Casos de muertes vs casos de contagios por Covid-19 :/

Una funci贸n de regresi贸n lineal se puede aplicar al comportamiento de los mercados por ejemplo SP500 conforme pasa el tiempo donde se ve que a pesar de las crisis los mercados tienden a recuperarse y continuar con una tendencia alcista

Las ventas, niveles de pobreza.

Se me ocurre la encriptaci贸n de datos para las transacciones seguras de bancos, tarjetas de cr茅dito, etc. donde pueden aplicarse las funciones lineales

Frecuencia de c谩ncer pulmonar con consumo de cigarros diarios tienen una funci贸n lineal

Un dato importante, la obtenci贸n de los par谩metros m y b provienen de minimizar el error cuadr谩tico entre los datos y el modelo lineal, es decir es una t茅cnica de minimizaci贸n.

Good class*!

Definici贸n Regresi贸n Lineal.

Es mejor usar Colab o jupyter notebook ?
Cual es mas recomendable ?

La regresi贸n lineal puede hacerse de forma m谩s r谩pida usando las funciones internas de Numpy.
Numpy es una herramienta muy poderosa, es posible hacer aproximaciones con polinomios de mayor grado para que puedan encajar en los datos.
https://colab.research.google.com/drive/1O2MnV4SOmNr3KcaCyCHB8Lbb0jf65gCF?usp=sharing

mucha libreria

Entendido

La regresi贸n lineal es s煤per 煤til para aproximar comportamientos, pero lo mejor es aproximar comportamientos con las herramientas del an谩lisis de Fourier (series de Fourier, transformada discreta de Fourier para datos discretos).

import numpay as np
x = np.array([0,1,2,3,4,5,6,7,8])
y = np.array([1,2,3,5,4,6,8,7,9])

coeffs = np.polyfit(x,y,1)
print(coeffs)

m = coeffs[0]
b = coeffs[1]
import matplotlib.pyplot as plt
plt.plot(x, est_y)
plt.scatter(x,y)
plt.show()

驴Se puede tambi茅n modelar funciones exponenciales o peri贸dicas?
O en su defecto, 驴Se puede introducir una ecuaci贸n personalizada en donde tenga datos para modelarlo?

est_y = (m * y) + b

as铆, no m谩s, sin importar los tipos de datos 馃槅

that鈥檚 why I love python

Excelente!

En verdad es terrible simplificar de esta manera el tema de regresi贸n. Aroesti es buen profesor de python, pero para estad铆stica existen especialistas en Latam que podr铆an aportar mucho de verdad, Platzi deber铆a plante谩rselo en serio.

En este apartado, podemos responder lo siguiente:

  • 驴En qu茅 consisten las regresiones lineales?
  • 驴C贸mo generar una regresi贸n lineal en Google Collab?

se puede aumentar el grado del polinomio y ajustar mejor los datos

Regresi贸n lineal.

  • Permite aproximar una funci贸n lineal a un conjunto de datos obtenidos de manera experimental.
  • No necesariamente permite aproximar funciones lineales, sino que sus variantes permiten aproximar cualquier funci贸n polin贸mica.
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()

x = np.array([x for x in range(9)])
y = np.array([1, 2, 3, 5, 4, 6, 8, 7, 9])

coeffs = np.polyfit(x, y, 1)

m = coeffs[0]
b = coeffs[1]

print(f'Pendiente m = {m:.2f} y ordenada al origen b = {b:.2f}')

plt.plot(x, y, marker = 'o', label = 'Datos')
plt.plot(x*m + b, label = 'Ajuste lineal')
plt.legend()
plt.title('Ejemplo de regresi贸n lineal')
plt.show()

se podr铆a hacer un experimento tomando en cuenta el tiempo que pasas en el movil y tus calificaciones obtenidas, podr铆amos tomar el tiempo acumulado la semana anterior a tu examen. O el promedio de las calificaciones con el tiempo total, durante el ciclo, semestre, bimestre.

Ser铆a 煤til si se ahondara m谩s en los comandos que aporta la librer铆a numpy

Colab est谩 muy bueno!