Sie sind auf Seite 1von 9

Universitat Siegen

Fakultat IV - Mathematik

Seminar

Fehlerhafte Berechnung einer


Extremwertstatistik beim
Wicksellschen Korpuskelproblem unter
Verwendung von R
Thomas Pollack
November 2015

Einleitung
Stehen wir vor der Aufgabe eine Extremertstatistik zu testen, so konnten wir dieses
zum Beispiel mit der Programmiersprache R durchf
uhren. Im Rahmen dieser Seminararbeit werden wir uns eine Extremwertstatistik anschauen bei welcher eine Berchnung
mit R nicht unmittelbare durchgef
uhrt werden kann, da R manche Integrale fehlerhaft
berechnet. So erhalten wir, zum Beispiele f
ur die Funktion h(x) = x12 , folgende Resultate:
Z

1/x2 dx = 1,

1
1
2
3

h<f u n c t i o n ( x ) {1 /x 2}
i n t e g r a t e (h ,1 , Inf ) $ value )
[1] 1

1000

1/x2 dx 0,999,

1
1
2
3

h<f u n c t i o n ( x ) {1 /x 2}
i n t e g r a t e ( h , 1 , 1 e +3)$ v a l u e
[ 1 ] 0.999

1 000 000

1/x2 dx = ,

1
1
2
3

h<f u n c t i o n ( x ) {1 /x 2}
i n t e g r a t e ( h , 1 , 1 e +6)$ v a l u e
Fehler in i n t e g r a t e (h , 1 , 1000000) : the i n t e g r a l i s probably di ver ge nt

1 000 000 000

1/x2 dx 2 7 106 .

1
1
2
3

h<f u n c t i o n ( x ) {1 /x 2}
i n t e g r a t e ( h , 1 , 1 e +9)$ v a l u e
[ 1 ] 0.000002754479

Extremwertstatistik
Angenommen, wir mochten folgende Extremwertstatistik mit R1 berechnen:
=

22 (A)

m
R
u

f (x)
dx
g(x)

mit
f (x) =

(x2 u2 ),

x u (1+1/)
)
, u > 0, > 0, > 0, x u,

wobei uns nur die Berechnung des Integrals interessiert. Aus diesem Grund, werden
wir auf die Bedeutung der anderen Bestandteile der Extremwertstatistik nicht naher
eingehen.
g(x) = (1 +

Integralberechnung
Setzen wir u = 2, = 0,6 und = 1,5 und berechnen mit R das Integral
dann erhalten wir:

1
2
3
4
5
6

R
u

f (x)
dx,
g(x)

u<2 ; sigma<0 . 6 ; gamma<1 . 5


f<f u n c t i o n ( x ) { s q r t ( x2u 2 ) }
g<f u n c t i o n ( x ) { sigma (1+gamma ( ( xu ) / sigma ) ) (1+1 /gamma) }
f f f<f u n c t i o n ( x ) { f ( x ) / g ( x ) }
i n t e g r a t e ( f f f , u , Inf ) $ value
Fehler in i n t e g r a t e ( f f f , u , I n f ) : the i n t e g r a l i s probably divergent

In der Hilfe von R beziehungsweise auf der CRAN-Homepage steht zur Integration folgendes: . . . an R function taking a numeric first argument and returning a numeric
vector of the same length. Returning a non-finite element will generate an error. Demnach kann ein Integral nicht berechnet werden, falls ein Funktionswert nicht existiert.
Alle anderen Hinweise beziehen sich auf die Beschrankung der numerischen Methoden.
Weitere Hinweise, warum manche Integrale nicht berechnet werden konnen, existieren
nicht - weder in der Fachliteratur noch auf der CRAN-Homepage.

R version 3.2.1 (2015-06-18). Platform: x866 4-apple-darwin13.4.0 (64-bit). Running under: OS X


10.10.5 (Yosemite).

Wenn nun ein nicht existierender Funktionswert zum Abbruch der Berechnung f
uhrt,
so stellt sich die Frage: Kann es sein, dass R manche Funktionswerte falsch berechnet ?
Genau diesen Gedankengang werden wir nun u
ufen.
berpr
Funktionswerte

8
4

f(x)

g(x)

10

Betrachten wir die Abbildung 0.1, so besitzt die Funktion g eine viel groere Steigung
als die Funktion f .

f(x)=sqrt(x^2-u^2)
g(x)=sigma*(1+gamma*((x-u)/sigma))^(1+1/gamma)

10

Abbildung 0.1: Funktion f und g.


F
uhren wir nun mit R eine Berechnung durch, so erhalten wir f
ur x = 154,10154 ,10155
folgende Resultate:
1
2
3
4
5
6
7
8
9
10
11

g ( 1 5 4 )>f ( 1 5 4 )
[ 1 ] TRUE
da g ( 1 5 4 ) = 1 2 0 1 4 . 1 5 und f ( 1 5 4 ) = 1 5 3 . 9 8 7
#######################################
g ( 1 e +154)>f ( 1 e +154)
[ 1 ] TRUE
da g ( 1 e +154) = 1 . 2 8 2 4 8 2 e +257 und f ( 1 e +154) = 1 e +154
#######################################
g ( 1 e +155)>f ( 1 e +155)
[ 1 ] FALSE
da g ( 1 e +155) = 5 . 9 5 2 7 5 4 e +258 und f ( 1 e +155) = I n f

In den eben durchgef


uhrten Berechnungen finden wir die Aussagen:
f (154) 1,5 102 ,

g(154) 1,2 104 ,

f (10154 ) = 10154 ,

g(10154 ) 1,2 10257 ,

f (10155 ) = ,

g(10155 ) 5,9 10258 .

Hieraus konnen wir schlussfolgern, dass manche groen Zahlen, unabhangig von der
tatsachlichen Groe, falschlicherweise gleich gesetzt werden. Denn eigentlich m
usste
R den Funktionswert von g in der letzten Berechnung eher gleich setzen und nicht
den Funktionwert von f , da die Funktion g eine viel groere Steigung besitzt als die
Funktion f .

Bemerkung (f (10154 )). Betrachten wir die Trivialitat


106 + 3
107 + 3
=
6
6= 1
106
107
und berechnen
1

106 +3
106

und

107 +3
107

(106+3) / 106 = 1 . 0 0 0 0 0 3 und (107+3) / 107 = 1

Falls wir jedoch das Ergebnis


1
2

mit R, dann erhalten wir:

107 +3
107

=1u
ufen, so folgt:
berpr

(107+3) /107==1
[ 1 ] FALSE

Wie wir leicht erkennen konnen, liefert die Uberpr


ufung ein richtiges Ergebnis. Jedoch
mit der Tatsache, dass schon eine 8-stellige Zahlen, in der Form: 10n + m mit n = 7 und
m = 3, nicht prazise dargestellt wird. Somit konnen wir annehmen, dass das Ergebnis
von f (10154 ), in der dargestellten Form, nicht richtig ist.

L
osungsvorschlag
Im Rahmen dieser Seminararbeit entstand folgender Losungsvorschlag.
F
ur das Integrieren benotigt R Funktionswerte ungleich , jedoch erzeugt bei der
R (x)
Funktionen f genau diese. Somit kann die Berechnung des Integrals u fg(x)
dx nicht
unmittelbar durchgef
uhrt werden.
Mochten wir dieses Integral trotzdem berechnen, so m
ussen wir einen Umweg einschlagen. Wir m
ussen die Funktionen f so anpassen, dass bei der Berechnung der Funktionswerte das Ergebnis nicht angenommen wird.
Dieses kann erreicht werden, wenn wir vor der Integralberechnung folgende Substitution2 durchf
uhren:
t = exp(x) x = log(t).
Bemerkung (Substitution). Es ist allgemein bekannt, dass f
ur alle x > 0 folgende
Aussage gilt:
exp(log(x)) = log(exp(x)) = x.
Wenden wir nun diese Aussage auf die Funktionen f und g an, so erhalten wir f
ur
x = 154:
1
2
3
4
5
6
7
8
9
10
11
12
13
14

#######################################
########### e x p ( l o g ( ) ) ##############
#######################################
e x p ( l o g ( g ( 1 5 4 ) ) )>e x p ( l o g ( f ( 1 5 4 ) ) )
[ 1 ] TRUE
da e x p ( l o g ( g ( 1 5 4 ) ) ) = 1 2 0 1 4 . 1 5 und e x p ( l o g ( f ( 1 5 4 ) ) ) = 1 5 3 . 9 8 7
#######################################
e x p ( l o g ( g ( 1 e +154) ) )>e x p ( l o g ( f ( 1 e +154) ) )
[ 1 ] TRUE
da e x p ( l o g ( g ( 1 e +154) ) ) = 1 . 2 8 2 4 8 2 e +257 und e x p ( l o g ( f ( 1 e +154) ) ) = 1 e +154
#######################################
e x p ( l o g ( g ( 1 e +155) ) )>e x p ( l o g ( f ( 1 e +155) ) )
[ 1 ] FALSE
da e x p ( l o g ( g ( 1 e +155) ) ) = 5 . 9 5 2 7 5 4 e +258 und e x p ( l o g ( f ( 1 e +155) ) ) = I n f

Diese ergab sich durch Ausprobieren.

1
2
3
4
5
6
7
8
9
10
11
12
13
14

#######################################
########### l o g ( e x p ( ) ) ##############
#######################################
l o g ( e x p ( g ( 1 5 4 ) ) )>l o g ( e x p ( f ( 1 5 4 ) ) )
[ 1 ] TRUE
da l o g ( e x p ( g ( 1 5 4 ) ) ) = I n f und l o g ( e x p ( f ( 1 5 4 ) ) ) = 1 5 3 . 9 8 7
#######################################
l o g ( e x p ( g ( 1 e +154) ) )>l o g ( e x p ( f ( 1 e +154) ) )
[ 1 ] FALSE
da l o g ( e x p ( g ( 1 e +154) ) ) = I n f und l o g ( e x p ( f ( 1 e +154) ) ) = I n f
#######################################
l o g ( e x p ( g ( 1 e +155) ) )>l o g ( e x p ( f ( 1 e +155) ) )
[ 1 ] FALSE
da l o g ( e x p ( g ( 1 e +155) ) ) = I n f und l o g ( e x p ( f ( 1 e +155) ) ) = I n f

Somit berechnet R f
ur
exp(log())
ein anderes Ergebnis als f
ur
log(exp()).
Zudem werden Funktionswerte gleich angenommen. Bei einer Substitution m
ussen
wir daher darauf achten, dass genau dieses nach einer Substitution nicht passiert.

F
uhren wir nun eine Substitution mit t = exp(x) durch, so erhalten wir:
Z
0

eu

p
(( log(t))2 u2 )
(1 + ( log(t))u
)(1+1/) t

dt.

Die Berechnung mit R ergibt dann:


1
2
3
4
5
6
7
8

#######################################
###### Vor d e r S u b s t i t u t i o n ###########
#######################################
f f f<f u n c t i o n ( x ) { f ( x ) / g ( x ) }
i n t e g r a t e ( f f f , u , Inf ) $ value
Fehler in i n t e g r a t e ( f f f , u , I n f ) : the i n t e g r a l i s probably divergent
#######################################
###### Nach d e r S u b s t i t u t i o n ##########

9
10
11
12
13
14

#######################################
f f<f u n c t i o n ( x ) { s q r t (( l o g ( x ) ) 2u 2 ) }
gg<f u n c t i o n ( x ) { sigma (1+gamma ((( l o g ( x ) )u ) / sigma ) ) (1+1 /gamma) }
f f f 1<f u n c t i o n ( x ) { f f ( x ) / ( gg ( x ) x ) }
i n t e g r a t e ( f f f 1 , 0 , exp(u ) ) $ v a l u e
[ 1 ] 9.254121

Durch diese simple Umformung haben wir es geschafft, dass das Integral
aus der Extremwertstatistik doch mit R berechnet werden kann.
Wenden wir dieselbe Substitution auf die Integrale aus der Einleitung an, so f
uhrt dieser
Weg auch hier zum gew
unschten Ziel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

#######################################
###### Vor d e r S u b s t i t u t i o n ###########
#######################################
h<f u n c t i o n ( x ) {1 /x 2}
i n t e g r a t e (h ,1 , Inf ) $ value )
[1] 1
i n t e g r a t e ( h , 1 , 1 e +3)$ v a l u e
[ 1 ] 0.999
i n t e g r a t e ( h , 1 , 1 e +6)$ v a l u e
Fehler in i n t e g r a t e (h , 1 , 1000000) : the i n t e g r a l i s probably di ver ge nt
i n t e g r a t e ( h , 1 , 1 e +9)$ v a l u e
[ 1 ] 0.000002754479
#######################################
###### Nach d e r S u b s t i t u t i o n ##########
#######################################
h1<f u n c t i o n ( x ) {1 / ((( l o g ( x ) ) 2 ) x ) }
i n t e g r a t e ( h1 , 0 , exp ( 1) ) $ v a l u e
[ 1 ] 0.9974389
i n t e g r a t e ( h1 , exp ( 103) , exp ( 1) ) $ v a l u e
[ 1 ] 0.9974389
i n t e g r a t e ( h1 , exp ( 106) , exp ( 1) ) $ v a l u e
[ 1 ] 0.9974389
i n t e g r a t e ( h1 , exp ( 109) , exp ( 1) ) $ v a l u e
[ 1 ] 0.9974389

Resu
mee
Bei der Integration mit R m
ussen wir folgendes beachten:
Die Meldung: Fehler in integrate(, , ) : the integral is probably divergent, kann
richtig oder falsch sein.
Manche Integrale werden falsch berechnet, da Funktionswerte faschlicherweise gleich
gesetzt werden. Wir konnen allerdings dieses Problem durch eine geschickte
Substitution beheben.
Die verwendeten numerischen Methoden konnen allerdings auch zum Abbruch
einer Integration f
uhren.
Eine fehlerfreie Integration hangt auch von der Systemumgebung ab. Die bei uns
verwendete Umgebung war:
1
2
3

R v e r s i o n 3 . 2 . 1 (2015 06 18)
P l a t f o r m : x86 64apple darwin13 . 4 . 0 (64 b i t )
Running under : OS X 1 0 . 1 0 . 5 ( Yosemite )

Das könnte Ihnen auch gefallen