Andrea Onofri
Dipartimento di Scienze Agrarie ed Ambientali
Università degli Studi di Perugia
Versione on-line: http://www.unipg.it/ onofri/RTutorial/index.html
Indice
1 Introduzione 1
1.1 Linearizzazione della funzione . . . . . . . . . . . . . . . . . . 2
1.2 Approssimazione della vera funzione tramite una polinomiale
in X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 Adattamento di funzioni curvilinee qualunque . . . . . . . . . 3
4 Il package drc 7
7 Per approfondire 13
1 Introduzione
Difficilmente i fenomeni biologici possono essere descritti da funzioni linea-
ri, salvo il caso in cui si consideri un intervallo di variazione della variabile
indipendente piuttosto ristretto. Più comunemente, le relazioni di maggior
interesse agrario e biologico in genere (per esempio la crescita di una coltu-
ra, la cinetica degradativa degli erbicidi nel terreno, la risposta produttiva
delle colture a densità crescenti di malerbe o a dosi crescenti di concime,
la risposta fitotossica di una specie infestante alla dose di un erbicida) so-
no curvilinee, posseggono punti di massimo o minimo, flessi e, soprattutto,
asintoti.
E’ quindi di fondamentale importanza pratica la capacità di adattare ai
dati sperimentali funzioni curvilinee, il che può essere ottenuto in vari modo:
1
1 INTRODUZIONE 2
Y = AeX
log(Y ) = log(A) + X
molto flessibile, che contiene la funzione lineare come caso particolare (n=1)
e che permette di descrivere curvature anche molto complesse semplicemente
aumentando l’ ordine della funzione. In questo modo è possibile ottenere un
adattamento ai dati sperimentali teoricamente anche perfetto.
Le funzioni polinomiali sono un tipico esempio di funzioni non-lineari
nelle variabili, ma lineari nei parametri; esse possono essere trattate ricor-
rendo alle metodiche di calcolo normalmente utilizzate per la regressione
lineare.
Gli svantaggi delle funzioni polinomiali sono legati al fatto che queste
presentano raramente giustificazione biologica. Per esempio, con le funzioni
polinomiali non è possibile descrivere relazioni asintotiche, che sono invece
molto comuni in biologia.
Inoltre, le polinomiali possono approssimare bene una funzione solo in
un intervallo della X molto ristretto e non consentono nessuna estrapola-
zione al di fuori di questo, dato che possono portare a stime della risposta
completamente insensate biologicamente.
Per questi motivi l’ uso delle funzioni polinomiali dovrebbe essere limita-
to ai casi in cui non si abbia nessuna conoscenza a priori dell’ andamento del
fenomeno. Tra l’ altro i moderni supporti informatici consentono di risolvere
il problema dell’ adattamento diretto di funzioni curvilinee qualunque senza
i lunghi calcoli manuali che venivano richiesti fino ad alcuni anni fa.
Y λ = f (X)λ
Giorni Peso
dalla semina
35.00 420.50
39.00 1660.70
46.00 3195.00
53.00 5870.10
60.00 7591.30
67.00 8784.80
74.00 9422.20
81.00 10328.10
> dati
DAS DW
1 35 420.5
2 39 1660.7
3 46 3195.0
4 53 5870.1
5 60 7591.3
6 67 8784.8
7 74 9422.2
8 81 10328.1
> model<-nls(DW~a*exp(-exp(b*(c-DAS))),
start=list(a=10000, b=0.08, c=47), trace=TRUE, data=dati)
2287456 : 1.0e+04 8.0e-02 4.7e+01
296223.3 : 1.079510e+04 8.320439e-02 4.769160e+01
294817.9 : 1.078999e+04 8.314129e-02 4.761957e+01
294817.7 : 1.078956e+04 8.315383e-02 4.761927e+01
294817.7 : 1.078956e+04 8.315391e-02 4.761925e+01
> summary(model)
3 LA REGRESSIONE NON-LINEARE CON R 6
Parameters:
Estimate Std. Error t value Pr(>t|)
a 1.079e+04 3.351e+02 32.20 5.43e-07 ***
b 8.315e-02 6.610e-03 12.58 5.64e-05 ***
c 4.762e+01 6.470e-01 73.60 8.77e-09 ***
---
Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
>
Parameters:
Estimate Std. Error t value Pr(>t|)
Asym 1.079e+04 3.351e+02 32.201 5.43e-07 ***
b2 5.244e+01 1.512e+01 3.468 0.0179 *
b3 9.202e-01 6.083e-03 151.280 2.39e-10 ***
---
Signif. codes: 0 ’***’ 0.001 ’**’ 0.01 ’*’ 0.05 ’.’ 0.1 ’ ’ 1
4 Il package drc
Oltre alla funzione nls() in R esiste un package molto comodo, che si chiama
drc(), che implementa tutte le funzioni necessarie per l’analisi di regressione
non-lineare.
Dopo aver caricato il package con il comando:
library(drc)
> beetGrowth
DAE weightInf weightFree
1 21 0.06000 0.0715091
2 21 0.06000 0.0662547
3 21 0.11000 0.0747931
4 27 0.20000 0.3368074
5 27 0.20000 0.3952256
6 27 0.21000 0.2520960
7 38 2.13000 2.3225072
8 38 3.03000 1.7163224
9 38 1.27000 1.2189231
10 49 6.13000 11.7761096
11 49 5.76000 13.6191507
12 49 7.78000 12.1462931
13 65 17.05000 33.1067720
14 65 22.48000 24.9648226
15 65 12.66000 34.6577561
16 186 21.51010 38.8329912
17 186 26.25887 27.8375016
18 186 27.67733 37.7165427
>
4 IL PACKAGE DRC 8
> summary(model)
Parameter estimates:
Estimated lambda: 0
Confidence interval for lambda: [-0.176,0.195]
> anova(model)
Lack-of-fit test
> plot(model)
> library(aomisc)
> model <- drm(weightFree ~ DAE, data=beetGrowth,
+ fct=logiGrowth.1(), adjust="bc1")
> summary(model)
Parameter estimates:
Estimated lambda: 0
Confidence interval for lambda: [-0.176,0.195]
> anova(model)
Lack-of-fit test
Y = a · e−k·t
a · exp(−k · t1/2 ) = a2
exp(−k · t1/2 ) = 12
(−k · t1/2 ) = log 12
k · t1/2 = log (2)
k = log(2)
t
1/2
log (2)
Y = a · exp(− · t)
t1/2
7 Per approfondire
Bates D. M. e Watts D. G., 1988. Nonlinear regression analysis and its
applications. John Wiley and Sons, Inc., New York, pp.365
Bliss C. I., 1967. Statistics in biology. McGraw-Hill Inc., Carrol R. J. e
Ruppert D., 1988. Transformation and weighting in regression. Chapman
and Hall, London
Draper N. R. e Smith H., 1981. Applied regression. John Wiley and
Sons, Inc., New York, 2nd ed.
Gunther P., 1991. Biotests mit hoheren Pflanzen zur Untersuchung
und Bewertung des Verhaltens von Sulfonylharnstoff-Herbiziden un ande-
ren Xenobiotika im Boden. Dissertation fur des akademischen Grades eines
Doktors der Gartenbauwissenschaften, University of Hannover, Hannover
7 PER APPROFONDIRE 14