El uso de IA Generativa (Inteligencia Artificial Generativa) usando lenguaje natural es cada vez más común.
Aplicaciones como ChatGPT de OpenAI o Bard de Google, son de gran ayuda.
Educadores y estudiantes se benefician de esta tecnología. Una posible aplicación es usar ChatGPT o Bard para crear conjutnos de datos que podamos usar para explicar alguna herramienta estadística.
Crear un conjunto de datos para análisis de correlación o regresión simple
En este ejemplo le mostraremos cómo crear un cojunto de datos pareados para usar en un ejercicio de regresión simple o análisis de correleación.
Herramienta utilizada: Bard de Google
Prompt:
Generate a data set with 50 observations to calculate a correlation analysis in which the response variable is “tensile” and the input variable is “pressure”. Value of “tensile” go from 2 to 40 pounds/force and follow a normal distribution with mean equal to 20 pounds/force and standard deviation of 7 pounds/force . Values of “pressure” go from 10 psi to 20 psi following a triangular distribution with lower bound 10, upper bound 20 and mode equal to 15. Display the data set in a table and show me the code script
Explicación del prompt:
Nótese que se solicita un conjunto de datos aleatorios, 50 observaciones en total.
La variable “tensile” (tensión) se define como una variable con distribución Normal con parámetros media de 50 libras/fuerza y desviación estándar 7 libras fuerza.
La variable “x” se define como una variable que sigue una distribución triangular con valor inferior 10, moda de 15 y valor superior de 20.
Aclaración: el “prompt” no instruye a Bard sobre cuál variable es “X” o “Y” (esto puede ser común en análisis de correlación en donde conocer la dependencia o independencia de las variables no es crítico, pero si es de interés analizar su correlación).
El “prompt” indica que los resultados se deben desplegaar así como el script de código (en Python).
Resultados:
Código en Python
Python
import random
import csv
def generate_tensile():
mean = 20
stddev = 7
return random.normalvariate(mean, stddev)
def generate_pressure():
lower_bound = 10
upper_bound = 20
mode = 15
return random.triangular(lower_bound, upper_bound, mode)
data = []
for i in range(50):
tensile = generate_tensile()
pressure = generate_pressure()
data.append((tensile, pressure))
print("Tensile | Pressure")
for tensile, pressure in data:
print(f"{tensile:.2f} | {pressure:.2f}")
with open('data.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',')
for tensile, pressure in data:
writer.writerow([tensile, pressure])
Valores aleatorios
Tensile | Pressure
——- | ——–
19.03 | 14.72
22.76 | 16.88
20.65 | 15.63
18.73 | 14.96
18.37 | 15.09
21.11 | 16.00
22.51 | 16.95
17.71 | 14.52
19.88 | 15.50
20.83 | 16.17
17.29 | 14.46
20.05 | 15.60
19.96 | 15.50
20.97 | 16.24
23.13 | 17.04
18.48 | 14.93
19.49 | 15.37
18.61 | 15.02
20.42 | 15.83
22.05 | 16.75
20.78 | 16.08
17.63 | 14.49
19.42 | 15.35
22.86 | 17.00
21.47 | 16.29
18.88 | 15.08
20.87 | 16.16
18.41 | 14.90
18.07 | 14.77
21.62 | 16.45
20.74 | 16.04
20.25 | 15.72
19.62 | 15.42
19.99 | 15.58
21.90 | 16.62
Es de suponer que si usted usa este código los valores que obtendrá no serán los mismos, dado que son generados de forma aleatoria.
Nosotros probamos el código usando Google Colab https://colab.research.google.com/ y funcionó sin problema alguno. En este video le mostramos una rápida ilustración
Usted puede tomar estos valores y analizarlos con Python, o en nuestro caso lo haremos con EngineRoom de MoreSteam, y le mostraremos el análisis en otro artículo.
Esperamos esto le sea de ayuda.
Recuerde: este prompt y los resultados obtenidos son ilustraciones. No use los prompt sin entenderlos.
Para más consultas visite www.blackberrycross.com
Leave a Reply