Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Diseño Experimental Problema3
Diseño Experimental Problema3
Problema 3
De acuerdo a la pregunta anterior se aplicó un bloque debido a que el error aleatorio se encuentra grande.
Importar datos
In [2]: import pandas as pd
# Data proporcionada
data = {
'Ceramica': ['C1', 'C2', 'C3', 'C1', 'C2', 'C3', 'C1', 'C2', 'C3', 'C1', 'C2', 'C3', 'C1', 'C2', 'C3', 'C1', 'C2', 'C3'],
'Resina': ['R1', 'R1', 'R1', 'R2', 'R2', 'R2', 'R1', 'R1', 'R1', 'R2', 'R2', 'R2', 'R1', 'R1', 'R1', 'R2', 'R2', 'R2'],
'Bloque': ['b1', 'b1', 'b1', 'b1', 'b1', 'b1', 'b2', 'b2', 'b2', 'b2', 'b2', 'b2', 'b3', 'b3', 'b3', 'b3', 'b3', 'b3'],
'Resistencia': [202.77, 211.56, 201.99, 202.49, 202.59, 202.15, 200.03, 209.81, 199.31, 200.38, 199.94, 200.42, 200.53, 209.74, 199.93, 200.68, 199
}
# DataFrame
df = pd.DataFrame(data)
# Mostrar
print(df)
Ceramica Resina Bloque Resistencia
0 C1 R1 b1 202.77
1 C2 R1 b1 211.56
2 C3 R1 b1 201.99
3 C1 R2 b1 202.49
4 C2 R2 b1 202.59
5 C3 R2 b1 202.15
6 C1 R1 b2 200.03
7 C2 R1 b2 209.81
8 C3 R1 b2 199.31
9 C1 R2 b2 200.38
10 C2 R2 b2 199.94
11 C3 R2 b2 200.42
12 C1 R1 b3 200.53
13 C2 R1 b3 209.74
14 C3 R1 b3 199.93
15 C1 R2 b3 200.68
16 C2 R2 b3 199.97
17 C3 R2 b3 199.85
In [14]: import statsmodels.api as sm
from statsmodels.formula.api import ols
# Prueba de ANOVA
tabla_anova = sm.stats.anova_lm(modelo_anova)
In [7]: # Clumna de residuos
df['Residuos'] = modelo_anova.resid
df.head()
Out[7]: Ceramica Resina Bloque Resistencia Residuos
0 C1 R1 b1 202.77 0.187222
1 C2 R1 b1 211.56 -0.282778
2 C3 R1 b1 201.99 0.107222
3 C1 R2 b1 202.49 -0.166111
4 C2 R2 b1 202.59 0.283889
Supuestos
# Shapiro-Wilk
stat_shapiro, p_value_shapiro = shapiro(df['Residuos'])
# Resultados
print("Estadística de Shapiro-Wilk:", stat_shapiro)
print("Valor p:", p_value_shapiro)
# Interpretar
alpha = 0.05
if p_value_shapiro < alpha:
print("\nLos residuos no siguen una distribución normal (se rechaza la hipótesis nula).")
else:
print("\nLos residuos siguen una distribución normal (no hay evidencia para rechazar la hipótesis nula).")
Estadística de Shapiro-Wilk: 0.9374831914901733
Valor p: 0.2623034715652466
Los residuos siguen una distribución normal (no hay evidencia para rechazar la hipótesis nula).
# Mostrar resultados
print("Estadística de Levene:", estadistica)
print("Valor p:", p_valor)
# Interpretación
alpha = 0.05
if p_valor < alpha:
print("\nHay evidencia significativa para rechazar la hipótesis nula.")
print("Las varianzas no son homogéneas entre las combinaciones de Ceramica y Resina.")
else:
print("\nNo hay evidencia significativa para rechazar la hipótesis nula.")
print("Las varianzas son homogéneas entre las combinaciones de Ceramica y Resina.")
Estadística de Levene: 0.1254790383469212
Valor p: 0.9838167155539966
# Histograma de Residuos
axs[0, 1].hist(residuos, bins=15, color='blue', alpha=0.7, rwidth=0.95)
axs[0, 1].set_title("Histograma de Residuos")
axs[0, 1].set_xlabel("Residuo")
axs[0, 1].set_ylabel("Frecuencia")
# Versus Fits
axs[1, 0].scatter(modelo_anova.fittedvalues, residuos, color='green', alpha=0.7)
axs[1, 0].plot(modelo_anova.fittedvalues, [0] * len(residuos), color='black', linestyle='--', linewidth=2)
axs[1, 0].set_title("Versus Fits")
axs[1, 0].set_xlabel("Valores Ajustados")
axs[1, 0].set_ylabel("Residuo")
# Versus Order
axs[1, 1].scatter(range(1, len(residuos) + 1), residuos, color='red', alpha=0.7)
axs[1, 1].plot(range(1, len(residuos) + 1), [0] * len(residuos), color='black', linestyle='--', linewidth=2)
axs[1, 1].set_title("Versus Order")
axs[1, 1].set_xlabel("Orden de Observación")
axs[1, 1].set_ylabel("Residuo")
Teniendo en consideración los dos factores de Cerámica y Resina, y una segmentación por bloqueo se plantea:
Modelo aditivo
Efectos principales
In [25]: # Calcular las medias de resistencia para cada tipo de resina
medias_resina = df.groupby('Resina')['Resistencia'].mean().reset_index()
# Gráfico cerámica
plt.subplot(1, 3, 1)
plt.plot(medias_ceramica['Ceramica'], medias_ceramica['Resistencia'], marker='o', color='blue', linestyle='-', markersize=10)
plt.axhline(df['Resistencia'].mean(), color='red', linestyle='--', label='Media General de Resistencia')
plt.title('Cerámica')
plt.xlabel('Tipo de Cerámica')
plt.ylabel('Media de Resistencia')
plt.legend()
# Gráfico resina
plt.subplot(1, 3, 2)
plt.plot(medias_resina['Resina'], medias_resina['Resistencia'], marker='o', color='green', linestyle='-', markersize=10)
plt.axhline(df['Resistencia'].mean(), color='red', linestyle='--', label='Media General de Resistencia')
plt.title('Resina')
plt.xlabel('Tipo de Resina')
plt.ylabel('Media de Resistencia')
plt.legend()
# Gráfico bloque
plt.subplot(1, 3, 3)
plt.plot(medias_bloque['Bloque'], medias_bloque['Resistencia'], marker='o', color='green', linestyle='-', markersize=10)
plt.axhline(df['Resistencia'].mean(), color='red', linestyle='--', label='Media General de Resistencia')
plt.title('Bloque')
plt.xlabel('Tipo de Bloque')
plt.ylabel('Media de Resistencia')
plt.legend()
Podemos observar que la cerámica C2 tiene una media de resistencia más alta, con respecto a la resina, R1 tiene una mejor media. Finalmente el bloque
B1 muestra una mejor media a comparación a los otros bloques.
Factor Resina
Conclusión
Esto significa que, según la prueba de Tukey, no hay una diferencia significativa en las medias de resistencia entre los grupos R1 y R2. En otras
palabras, no hay evidencia estadística suficiente para afirmar que la resistencia es diferente entre las resinas R1 y R2.
Factor Cerámica
Conclusión
Entre C1 y C3: El valor p ajustado es 0.9554, que es mucho mayor que 0.05. No hay suficiente evidencia para rechazar la hipótesis nula, indicando que
las medias de C1 y C3 no son significativamente diferentes. La diferencia promedio es -0.5383, con un intervalo de confianza desde -5.3915 hasta
4.3148.
Entre C2 y C3: El valor p ajustado es 0.0434, que es menor que 0.05. Hay suficiente evidencia para rechazar la hipótesis nula, indicando que hay una
diferencia significativa entre las medias de C2 y C3. La diferencia promedio es -4.9933, con un intervalo de confianza desde -9.8465 hasta -0.1402.
En resumen, la interpretación general es que solo hay evidencia significativa de diferencias entre las medias de C2 y C3, mientras que las
comparaciones entre C1 y C2, así como entre C1 y C3, no muestran diferencias significativas.
Bloques
Conclusión
Entre b1 y b3: El valor p ajustado es 0.617, que es mayor que 0.05. Similar al caso anterior, no hay suficiente evidencia para rechazar la hipótesis nula, lo
que sugiere que no hay una diferencia significativa entre las medias de b1 y b3.
Entre b2 y b3: El valor p ajustado es 0.998, que es mucho mayor que 0.05. No hay evidencia significativa para rechazar la hipótesis nula. No se considera
una diferencia significativa entre las medias de b2 y b3.
En resumen, según la prueba de Tukey, no se encontraron diferencias significativas entre las medias de resistencia para los diferentes bloques ("b1",
"b2" y "b3").