Si sono voluti valutare gli effetti di tre componenti di una generica miscela per gelato sulla viscosità finale della miscela stessa, parametro quest’ultimo che influenza in maniera importante le caratteristiche del prodotto finito.
Sono stati presi in esame tre addensanti comunemente utilizzati nel settore:
Si è impostato un disegno di miscela del tipo Simplex Lattice con k=3 e m=3, le cui possibili combinazioni hanno portato a effettuare 10 condizioni sperimentali. Si sono effettuate 3 repliche in 3 settimane diverse, anche se per quest’analisi si è scelto di prendere in considerazione solo gli ultimi due set di repliche.
| ID | Week | F | T | G | Visc | Visc_log | |
|---|---|---|---|---|---|---|---|
| 1 | 2_0_1 | 1 | 0.6666667 | 0.0000000 | 0.3333333 | 7050 | 3.848189 |
| 2 | 0_2_1 | 1 | 0.0000000 | 0.6666667 | 0.3333333 | 7200 | 3.857333 |
| 3 | 0_1_2 | 1 | 0.0000000 | 0.3333333 | 0.6666667 | 6810 | 3.833147 |
| 4 | 1_2_0 | 1 | 0.3333333 | 0.6666667 | 0.0000000 | 8370 | 3.922725 |
| 5 | 1_1_1 | 1 | 0.3333333 | 0.3333333 | 0.3333333 | 7080 | 3.850033 |
| 6 | 0_0_3 | 1 | 0.0000000 | 0.0000000 | 1.0000000 | 5790 | 3.762679 |
| 7 | 1_0_2 | 1 | 0.3333333 | 0.0000000 | 0.6666667 | 6330 | 3.801404 |
| 8 | 0_3_0 | 1 | 0.0000000 | 1.0000000 | 0.0000000 | 9330 | 3.969882 |
| 9 | 2_1_0 | 1 | 0.6666667 | 0.3333333 | 0.0000000 | 7950 | 3.900367 |
| 10 | 3_0_0 | 1 | 1.0000000 | 0.0000000 | 0.0000000 | 6330 | 3.801404 |
| 11 | 0_0_3 | 2 | 0.0000000 | 0.0000000 | 1.0000000 | 4272 | 3.630631 |
| 12 | 2_1_0 | 2 | 0.6666667 | 0.3333333 | 0.0000000 | 6780 | 3.831230 |
| 13 | 0_2_1 | 2 | 0.0000000 | 0.6666667 | 0.3333333 | 5610 | 3.748963 |
| 14 | 1_2_0 | 2 | 0.3333333 | 0.6666667 | 0.0000000 | 7500 | 3.875061 |
| 15 | 1_1_1 | 2 | 0.3333333 | 0.3333333 | 0.3333333 | 6510 | 3.813581 |
| 16 | 3_0_0 | 2 | 1.0000000 | 0.0000000 | 0.0000000 | 5730 | 3.758155 |
| 17 | 0_3_0 | 2 | 0.0000000 | 1.0000000 | 0.0000000 | 8130 | 3.910090 |
| 18 | 1_0_2 | 2 | 0.3333333 | 0.0000000 | 0.6666667 | 6450 | 3.809560 |
| 19 | 0_1_2 | 2 | 0.0000000 | 0.3333333 | 0.6666667 | 5610 | 3.748963 |
| 20 | 2_0_1 | 2 | 0.6666667 | 0.0000000 | 0.3333333 | 5610 | 3.748963 |
Una volta effettuati gli esperimenti i dati possono essere elaborati secondo un modello di Scheffè semplificato (special cubic), che consente di tenere conto degli effetti dati dalle possibili interazioni tra le 3 variabili F, T e G.
Il modello è il seguente:
\[
Y =
b_0+b_1x_1+b_2x_2+b_3x_3+b_{12}x_1x_2+b_{13}x_1x_3+b_{23}x_2x_3+b_{123}x_1x_2x_3
\]
Al dataset di partenza quindi si aggiungono ulteriori colonne
relative alle interazioni a 2 e all’interazione a 3 componenti.
| ID | Week | F | T | G | F_T | T_G | F_G | F_T_G | Visc | Visc_log | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 2_0_1 | 1 | 0.6666667 | 0.0000000 | 0.3333333 | 0.0000000 | 0.0000000 | 0.2222222 | 0.000000 | 7050 | 3.848189 |
| 2 | 0_2_1 | 1 | 0.0000000 | 0.6666667 | 0.3333333 | 0.0000000 | 0.2222222 | 0.0000000 | 0.000000 | 7200 | 3.857333 |
| 3 | 0_1_2 | 1 | 0.0000000 | 0.3333333 | 0.6666667 | 0.0000000 | 0.2222222 | 0.0000000 | 0.000000 | 6810 | 3.833147 |
| 4 | 1_2_0 | 1 | 0.3333333 | 0.6666667 | 0.0000000 | 0.2222222 | 0.0000000 | 0.0000000 | 0.000000 | 8370 | 3.922725 |
| 5 | 1_1_1 | 1 | 0.3333333 | 0.3333333 | 0.3333333 | 0.1111111 | 0.1111111 | 0.1111111 | 0.037037 | 7080 | 3.850033 |
| 6 | 0_0_3 | 1 | 0.0000000 | 0.0000000 | 1.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.000000 | 5790 | 3.762679 |
| 7 | 1_0_2 | 1 | 0.3333333 | 0.0000000 | 0.6666667 | 0.0000000 | 0.0000000 | 0.2222222 | 0.000000 | 6330 | 3.801404 |
| 8 | 0_3_0 | 1 | 0.0000000 | 1.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.000000 | 9330 | 3.969882 |
| 9 | 2_1_0 | 1 | 0.6666667 | 0.3333333 | 0.0000000 | 0.2222222 | 0.0000000 | 0.0000000 | 0.000000 | 7950 | 3.900367 |
| 10 | 3_0_0 | 1 | 1.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.000000 | 6330 | 3.801404 |
| 11 | 0_0_3 | 2 | 0.0000000 | 0.0000000 | 1.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.000000 | 4272 | 3.630631 |
| 12 | 2_1_0 | 2 | 0.6666667 | 0.3333333 | 0.0000000 | 0.2222222 | 0.0000000 | 0.0000000 | 0.000000 | 6780 | 3.831230 |
| 13 | 0_2_1 | 2 | 0.0000000 | 0.6666667 | 0.3333333 | 0.0000000 | 0.2222222 | 0.0000000 | 0.000000 | 5610 | 3.748963 |
| 14 | 1_2_0 | 2 | 0.3333333 | 0.6666667 | 0.0000000 | 0.2222222 | 0.0000000 | 0.0000000 | 0.000000 | 7500 | 3.875061 |
| 15 | 1_1_1 | 2 | 0.3333333 | 0.3333333 | 0.3333333 | 0.1111111 | 0.1111111 | 0.1111111 | 0.037037 | 6510 | 3.813581 |
| 16 | 3_0_0 | 2 | 1.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.000000 | 5730 | 3.758155 |
| 17 | 0_3_0 | 2 | 0.0000000 | 1.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.0000000 | 0.000000 | 8130 | 3.910090 |
| 18 | 1_0_2 | 2 | 0.3333333 | 0.0000000 | 0.6666667 | 0.0000000 | 0.0000000 | 0.2222222 | 0.000000 | 6450 | 3.809560 |
| 19 | 0_1_2 | 2 | 0.0000000 | 0.3333333 | 0.6666667 | 0.0000000 | 0.2222222 | 0.0000000 | 0.000000 | 5610 | 3.748963 |
| 20 | 2_0_1 | 2 | 0.6666667 | 0.0000000 | 0.3333333 | 0.0000000 | 0.0000000 | 0.2222222 | 0.000000 | 5610 | 3.748963 |
Si effettua una regressione per trovare i coefficienti ottimali secondo il modello, valutandone la significatività (limite di confidenza del 95%).
Essendo un modello relativo a una miscela ternaria non ho il valore relativo all’intercetta come per una regressione lineare “tradizionale”.
##
## Call:
## lm(formula = Visc ~ 0 + F + T + G + F_T + F_G + T_G + F_T_G,
## data = df_complete)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1247.4 -416.2 160.9 395.6 1052.4
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## F 6021.0 509.5 11.818 2.51e-08 ***
## T 8534.6 509.5 16.751 3.51e-10 ***
## G 5235.4 509.5 10.276 1.31e-07 ***
## F_T 1675.0 2381.5 0.703 0.494
## F_G 3293.0 2381.5 1.383 0.190
## T_G -2598.7 2381.5 -1.091 0.295
## F_T_G -1761.8 17464.7 -0.101 0.921
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 757.5 on 13 degrees of freedom
## Multiple R-squared: 0.992, Adjusted R-squared: 0.9877
## F-statistic: 229.6 on 7 and 13 DF, p-value: 1.369e-12
In realtà trovo che tutti i coefficienti relativi alle 4 interazioni risultano essere statisticamente non significativi pertanto rimuovo la variabile con il P-value maggiore e reitero la procedura, questo perché i tre vettori di partenza sono tra loro linearmente dipendenti.
##
## Call:
## lm(formula = Visc ~ 0 + F + T + G + F_T + F_G + T_G, data = df_complete)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1236.2 -419.0 172.1 402.1 1063.5
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## F 6028 486 12.405 6.10e-09 ***
## T 8542 486 17.578 6.14e-11 ***
## G 5243 486 10.789 3.62e-08 ***
## F_T 1591 2151 0.740 0.472
## F_G 3209 2151 1.492 0.158
## T_G -2683 2151 -1.247 0.233
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 730.2 on 14 degrees of freedom
## Multiple R-squared: 0.992, Adjusted R-squared: 0.9885
## F-statistic: 288.3 on 6 and 14 DF, p-value: 7.634e-14
Levo anche F_T
##
## Call:
## lm(formula = Visc ~ 0 + F + T + G + F_G + T_G, data = df_complete)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1295.1 -404.5 118.4 494.6 1063.5
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## F 6205.2 416.7 14.893 2.15e-10 ***
## T 8718.8 416.7 20.925 1.64e-12 ***
## G 5242.9 478.6 10.956 1.48e-08 ***
## F_G 2944.0 2088.9 1.409 0.179
## T_G -2947.8 2088.9 -1.411 0.179
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 719.1 on 15 degrees of freedom
## Multiple R-squared: 0.9917, Adjusted R-squared: 0.9889
## F-statistic: 356.6 on 5 and 15 DF, p-value: 4.942e-15
Poi T_G
##
## Call:
## lm(formula = Visc ~ 0 + F + T + G + F_G, data = df_complete)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1650.71 -417.62 3.95 533.83 963.05
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## F 6261.4 427.4 14.649 1.09e-10 ***
## T 8438.1 377.3 22.366 1.70e-13 ***
## G 4906.0 427.4 11.478 3.91e-09 ***
## F_G 3365.1 2130.5 1.579 0.134
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 741.1 on 16 degrees of freedom
## Multiple R-squared: 0.9905, Adjusted R-squared: 0.9882
## F-statistic: 419.3 on 4 and 16 DF, p-value: 5.677e-16
E infine F_G poiché ha continuato a rivelarsi non
significativo.
##
## Call:
## lm(formula = Visc ~ 0 + F + T + G, data = df_complete)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1688.1 -429.4 -147.0 624.0 1004.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## F 6597.9 386.5 17.07 3.91e-12 ***
## T 8325.9 386.5 21.54 8.85e-14 ***
## G 5242.5 386.5 13.56 1.51e-10 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 773 on 17 degrees of freedom
## Multiple R-squared: 0.9891, Adjusted R-squared: 0.9871
## F-statistic: 513.1 on 3 and 17 DF, p-value: < 2.2e-16
I coefficienti del mio modello saranno dunque
## F T G
## 6597.9 8325.9 5242.5
E un valore di r² di
## [1] 0.9890763
Posso anche tracciare un grafico che metta in relazione la risposta ottenuta sperimentalmente con quella calcolata dal modello di regressione
##
## Call:
## lm(formula = Visc ~ Visc_calc, data = df_visc)
##
## Residuals:
## Min 1Q Median 3Q Max
## -1688.1 -429.4 -147.0 624.0 1004.1
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.881e-12 1.277e+03 0.000 1
## Visc_calc 1.000e+00 1.883e-01 5.312 4.75e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 751.2 on 18 degrees of freedom
## Multiple R-squared: 0.6105, Adjusted R-squared: 0.5889
## F-statistic: 28.22 on 1 and 18 DF, p-value: 4.749e-05
Partendo dai coefficienti ottenuti dal modello posso visualizzarne la superficie di risposta