Studiul calit at ii si abilit at ii [626151]
Studiul calit at ii si abilit at ii
folosind R-Studio
Daniel Volovici Daniel N.Pop
Cuprins
1 Preliminarii 12
1.1 Medii statistice.Indicatori ai variat iei . . . . . . . . . . 12
1.2 Integrale Euleriene . . . . . . . . . . . . . . . . . . . . 16
1.3 Funct ia de repartit ie. Densitatea de probabilitate . . . 18
1.4 Transformata lui Laplace . . . . . . . . . . . . . . . . . 20
2 Mediul de programare RStudio 21
2.1 Prezentare general a . . . . . . . . . . . . . . . . . . . . 21
2.2 Tipurile de date ^ n R. . . . . . . . . . . . . . . . . . . . 29
2.2.1 Obiecte . . . . . . . . . . . . . . . . . . . . . . 29
2.2.2 Citirea datelor dintr-un sier . . . . . . . . . . . 33
2.2.3 Salvarea datelor . . . . . . . . . . . . . . . . . . 35
2.2.4 Generarea datelor . . . . . . . . . . . . . . . . . 36
2.2.5 Manipularea obiectelor . . . . . . . . . . . . . . 40
2.3 Programarea ^ n RStudio . . . . . . . . . . . . . . . . . 58
2.3.1 Bucle si vectoriz ari . . . . . . . . . . . . . . . . 58
2.3.2 Instruct iunea de decizie . . . . . . . . . . . . . 61
2.3.3 Instruct iuni de repetit ie . . . . . . . . . . . . . 62
2.3.4 Denirea funct iilor proprii . . . . . . . . . . . . 66
2.3.5 Calculul integralelor denite . . . . . . . . . . . 67
2.4 Apelul din R al funct iilor scrise ^ n C . . . . . . . . . . 68
2.5 Crearea de siere C++ ^ n R . . . . . . . . . . . . . . . 77
2
CUPRINS 3
2.6 Data frame . . . . . . . . . . . . . . . . . . . . . . . . 79
2.7 Generarea numerelor aleatoare ^ n R . . . . . . . . . . . 90
2.8 Funct ii grace ^ n R . . . . . . . . . . . . . . . . . . . . 94
2.8.1 Gestionarea gracelor . . . . . . . . . . . . . . . 94
2.8.2 Pachetele grid si lattice . . . . . . . . . . . . . 103
3 Legi de repartit ie a priori 105
3.1 Repartit ia beta . . . . . . . . . . . . . . . . . . . . . . 105
3.2 Repartit ia gamma . . . . . . . . . . . . . . . . . . . . . 110
3.3 Repartit ia uniform a . . . . . . . . . . . . . . . . . . . . 112
4 Distribut ii utilizate 114
4.1 Repartit ii discrete . . . . . . . . . . . . . . . . . . . . . 114
4.1.1 Repartit ia binomial a . . . . . . . . . . . . . . . 114
4.1.2 Repartit ia Poisson . . . . . . . . . . . . . . . . 119
4.1.3 Repartit ia hipergeometric a . . . . . . . . . . . . 122
4.2 Repartit ii continue . . . . . . . . . . . . . . . . . . . . 124
4.2.1 Repartit ia normal a . . . . . . . . . . . . . . . . 124
4.2.2 Repartit ia normal a redus a . . . . . . . . . . . . 126
4.2.3 Repartit ia lognormal a . . . . . . . . . . . . . . 127
4.2.4 Repartit ia exponent ial a negativ a . . . . . . . . 130
4.2.5 Repartit ia Weibull . . . . . . . . . . . . . . . . 132
4.2.6 Repartit ia 2. . . . . . . . . . . . . . . . . . . 134
5 Teste statistice 138
5.1 Teste statistice pentru un e santion . . . . . . . . . . . 141
5.1.1 Testul Z pentru un e santion . . . . . . . . . . . 141
5.1.2 Testul t pentru un e santion . . . . . . . . . . . 147
5.1.3 Testul binomial . . . . . . . . . . . . . . . . . . 151
5.1.4 Testul 2. . . . . . . . . . . . . . . . . . . . . 152
5.2 Teste statistice pentru dou a e santioane . . . . . . . . . 156
5.2.1 Testul Sign (al semnelor) . . . . . . . . . . . . . 156
4 CUPRINS
5.2.2 Testul t pentru dou a e santioane independente . 159
5.2.3 Testul Wilcoxon pentru dou a e santioane inde-
pendente . . . . . . . . . . . . . . . . . . . . . . 164
5.2.4 Testul F pentru dou a e santioane independente . 166
5.2.5 Testul Kolmogorov-Smirnov . . . . . . . . . . . 170
5.2.6 Puterea unui test . . . . . . . . . . . . . . . . . 176
5.3 Elemente de analiz a dispersional a . . . . . . . . . . . . 180
6 Studiul calit at ii produselor 183
6.1 Indicatori de conformitate . . . . . . . . . . . . . . . . 183
6.2 Estimarea si vericarea indicatorilor . . . . . . . . . . . 185
6.3 Controlul calit at ii product iei . . . . . . . . . . . . . . . 192
6.4 Planuri de control atributiv (PCCVI) . . . . . . . . . . 194
6.5 Controlul prin e santionare la recept ie . . . . . . . . . . 197
6.6 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 204
7 Fiabilitatea sistemelor 223
7.1 Indicatori de abilitate . . . . . . . . . . . . . . . . . . 223
7.1.1 Probabilitatea de bun a funct ionare R(t) . . . . 224
7.1.2 Probabilitatea de defectare F(t) . . . . . . . . . 225
7.1.3 Cuantila timpului de funct ionare . . . . . . . . 226
7.1.4 Densitatea de probabilitate a c aderilor f(t) . . . 226
7.1.5 Rata de defectare z(t) . . . . . . . . . . . . . . 227
7.1.6 Media timpului de bun a funct ionare (MTBF) . 229
7.1.7 Dispersia D si abaterea medie p atratic a . . . 230
7.1.8 Limitele indicatorilor de abilitate . . . . . . . . 231
7.2 Fiabilitate previzional a . . . . . . . . . . . . . . . . . . 231
7.2.1 Factori ce in
uent eaz a abilitatea . . . . . . . . 233
7.2.2 Studiul abilit at ii sistemelor prin metoda arbo-
rilor de defectare . . . . . . . . . . . . . . . . . 234
7.2.3 Modelul proceselor MARKOV . . . . . . . . . . 235
7.3 Fiabilitate parametric a . . . . . . . . . . . . . . . . . . 254
CUPRINS 5
7.3.1 Obiective . . . . . . . . . . . . . . . . . . . . . 254
7.3.2 Metode pentru studiul abilit at ii parametrice . 255
7.3.3 Metoda Monte Carlo . . . . . . . . . . . . . . . 257
7.4 Fiabilitate experimental a si operat ional a . . . . . . . . 259
7.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . 260
8 Probleme propuse 276
Bibliograe 280
Glosar 285
List a de guri
2.1 Fereastra de lucru . . . . . . . . . . . . . . . . . . . . . 22
2.2 Fisier C++ . . . . . . . . . . . . . . . . . . . . . . . . 77
2.3 Data frame . . . . . . . . . . . . . . . . . . . . . . . . 82
2.4 Trei grace densitate de probabilitate . . . . . . . . . . 98
2.5 Grace cu adnot ari . . . . . . . . . . . . . . . . . . . . 101
2.6 QQ norm . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.1 Repartit ia Beta . . . . . . . . . . . . . . . . . . . . . . 109
4.1 Repartit ia Binomial a . . . . . . . . . . . . . . . . . . . 118
4.2 Repartit ia Poisson+Binomial a . . . . . . . . . . . . . . 121
4.3 Repartit ia Lognormal a . . . . . . . . . . . . . . . . . . 129
4.4 Generare nr. aleatoare prin repartit ia exponent ial a . . 131
4.5 Distribut ie Weibull . . . . . . . . . . . . . . . . . . . . 133
4.6 Repartit ia 2. . . . . . . . . . . . . . . . . . . . . . . 137
5.1 Testul T . . . . . . . . . . . . . . . . . . . . . . . . . . 163
5.2 Testul Komogorov-Smirnov dou a select ii . . . . . . . . 175
5.3 Puterea unui test . . . . . . . . . . . . . . . . . . . . . 179
6.1 Caracteristica operativ a . . . . . . . . . . . . . . . . . 203
6.2 Curbele densit at ii empirice . . . . . . . . . . . . . . . . 206
6.3 Exemplu fotodiode . . . . . . . . . . . . . . . . . . . . 215
6
LIST A DE FIGURI 7
6.4 Test Kolmogorov + 2. . . . . . . . . . . . . . . . . . 218
7.1 Teste de andurant a . . . . . . . . . . . . . . . . . . . . 265
7.2 Lant uri Markov . . . . . . . . . . . . . . . . . . . . . . 268
7.3 Model Markov continuu . . . . . . . . . . . . . . . . . 270
7.4 Disponib sistem ptr un singur depanator . . . . . . . . 272
7.5 Disp.sistem doi depanatori . . . . . . . . . . . . . . . . 274
Introducere
Am ales s a prezent am ^ n aceast a lucrare un studiu privind ingi-
neria calit at ii si abilit at ii folosind mediul RStudio . O mare parte din
exemplele prezentate au fost utilizate ^ n cadrul orelor de laborator de
la specialit at ile Calculatoare, Electronic a Aplicat a si Electromecanic a
din departamentul de Calculatoare si Inginerie Electric a a Unversit at ii
Lucian Blaga din Sibiu. Pentru a putea lucra cu acest software este
necesar a o preg atire temeinic a ^ n teoria probabilit at ilor si ^ n statistic a
matematic a, adic a se presupune cunoa sterea termenilor de: variabil a
aleatoare, funct ia densitate de probabilitate, funct ie de repartit ie, test
statistic, etc
Prima variant a de Ra fost creat a ^ n Noua Zeeland a, ^ n anul 1991,
deRoss Ihaka siRobert Gentleman. Limbajul Reste un limbaj
orientat obiect, adic a variabilele cu care se lucreaz a sunt obiecte.
Ross Ihaka scria ^ n 1998: "^In august 1993 Robert Gentleman si
cu mine am plasat copii ale R-ului la Statlib si am f acut un mic grup
pe s-news. Unii ne-au desc arcat copiile si s-au oferit s a colaboreze.
Cel mai de n adejde a fost Martin Maehler de la ETH Zurich care ne-
a convins s a lans am codul surs a ca un software gratuit. La ^ nceput
am avut ezit ari, dar ^ n iunie 1995 am convenit s a punem la dispozit ia
tuturor codul surs a ^ n condit iile fundat iei FRF".
Pachetul de baz a, este acela care se descarc a de la http://cran.r-
project.org , si este sucient pentru a putea rula RStudio pe orice plat-
8
LIST A DE FIGURI 9
form a Windows, acest pachet cont ine funct iile fundamentale ale limba-
jului. Manualul complet \ RStudio Reference Manual " ^ n care este
cont inut si kitul de instalare, RStudio are 1884 de pagini din care 60
pagini reprezint a indexul cu peste 4000 de funct ii puse la dispozit ia
utilizatorilor care stiu s a le foloseasc a, iar cei mai putin init iat i pot
folosii help-ul on line folosind instruct iunea help.search ( ).
Cunosc atorii apreciaz a RStudio pentru facilit at ile sale grace; de
asemenea exist a macroinstructiuni care ofer a rezultate foarte bune(de
exemplu pentru a g asi minimul, maximul, mediana unui sir de date
sau pentru ai face histograma, teste de concordant a, teste anova etc).
Informat ii referitoare la proiectul RStudio pentru statistic a se pot
accesa la adresa de web
https://www.r-project.org/.
Pentru a desc arca softul trebuie accesat un server CRAN (Com-
prehensive R Archive Network) de la adresa
https://cran.r-project.org/mirrors.html.
Ultima versiune a limbajului R este versiunea R-3.3.2 pentru 32-bit
t i 64-bit. ^In mod implicit se instaleaz a versiunea pe 32 de bit i pentru
Windows, dar se poate alege versiunea pe 64 de bit i. Evident c a fanii
sistemelor de operare Linux sau MacOX au la dispozit ie variantele
corespunz atoare.
Odat a cu RStudio se descarc a si o serie de pachete de programe
(numite si pachete standard), dar sunt disponibile si alte pachete de
programe RStudio prin intermediul CRAN (Comprehensive R Archive
Network { http://CRAN.R-project.org) care cont in diferite variante
ale sistemului RStudio si ale pachetelor de programe. Folosirea e-
cient a acestui mediu de programare este condit ionat a de leg atur a la
Internet.
RStudio are o mult ime de funct ii pentru analiza statistic a si gra-
c a; cele recente au vizualizare instantanee ^ n propria fereastr a si pot
salvate ^ n diferite formate (jpg, png, bmp, ps, pdf, emf, pictex, xg;
formatele disponibile pot depinde de sistemul de operare). Rezultatele
10 LIST A DE FIGURI
unei analize statistice sunt a sate pe ecran, c^ ateva rezultate interme-
diare (probabilit at i, coecient i de regresie, valori reziduale, . . . ) pot
salvate, scrise ^ ntr-un sier, sau folosite ^ n analize ulterioare.
Exist a alte dou a colect ii principale de pachete RStudio : Omega-
hat Project for Statistical Computing care se axeaz a pe aplicatii web-
based si interfet e ^ ntre software-uri si limbaje, si Bioconductor Project
specializat ^ n aplicat ii bioinformatice (^ n special pentru analiza micro-
datelor).
Limbajul RStudio permite utilizatorului, spre exemplu, s a pro-
grameze grupurile de instruct iuni pentru analiza succesiv a a seturilor
de date. De asemenea este posibil a combinarea ^ ntr-un singur pro-
gram a mai multor funct ii statistice pentru a efectua analize mai com-
plexe. Utilizatorii RStudio pot benecia de o gam a larg a de programe
^ ntocmite pentru Statistic a si care sunt disponibile pe Internet, majo-
ritatea put^ and folosite direct ^ n RStudio .
Exist a c art i specializate pe diverse domenii, unde se utilizeaz a sta-
tistica si unde se arat a cum se poate utiliza RStudio pentru calculele
statistice. ([2] , [6] , [8]).
Autorii mult umesc pe aceast a cale echipei R-omania care se ocup a
de sust inerea RStudio Project ^ n Rom^ ania, prin intermediul c arora
am avut acces la documentat ia necesar a ^ n elaborarea capitolului II
al acestei c art i (w.w.w.r-project.ro), precum si domnilor prof.dr.ing
Remus Brad de la Universitatea Lucian Blaga din Sibiu si conf.dr.mat
Radu T.Tr^ ambit a s de la Universitatea Babe s-Bolyai Cluj Napoca care
ne-au ajutat foarte mult la elaborarea acestei c art i.
Primul capitol l-am dedicat unei prezent ari succinte a unor not iuni
fundamentale din teoria probabilit at ilor si statistic a matematic a, uti-
lizate ^ n studiul calit at ii si abilit at ii produselor.
Capitolul II este dedicat program arii ^ n RStudio , capitolul III le-
gilor de repartit ie apriori, capitolul IV distribut iilor statistice utilizate
^ n studiul calit at ii si abilit at ii, capitoul V testelor statistice, iar ulti-
mele capitole sunt dedicate indicatorilor de conformitate si abilitate,
LIST A DE FIGURI 11
procese Markov utilizate ^ n abilitate.
Orice observat ii privind aceasta carte sunt binevenite pe adresele
de e-mail:
daniel.volovici@ulbsibiu.ro, nicolae.pop@ulbsibiu.ro.
Capitolul 1
Preliminarii
1.1 Medii statistice.Indicatori ai variat iei
Denit ie 1 Fie x 1; x2;:::xnvalorile distincte ale unei caracteristici va-
riabile ^ ntr-o select iei de volum n:M arimea
x=x1+x2+:::xn
n
reprezint a media aritmetic a a select iei.
Media aritmetic a pentru date negrupate are urm atoarele propriet at i:
1. Suma algebric a a abaterilor diferitelor valori de la medie este
egal a cu zero.
2. Fie ao constant a, are loc inegalitatea:
∑
i(xi a)2∑
i(xi x)2
Denit ie 2 Media geometric a este dat a de urm atoarele formule:
g=npx1x2:::xn
logg=1
nn∑
i=1logxi
12
1.1. MEDII STATISTICE.INDICATORI AI VARIAT IEI 13
Denit ie 3 Valoarea invers a a mediei aritmetice a valorilor inverse
ale caracteristicii variabile se nume ste media armonic a a select iei:
h=n
n∑
i=11
xi
Denit ie 4 Fie x 1< x 2;::: < x n< x n+1< ::: < x 2n+1valorile
caracteristicii intr-o select ie oarecare de volum cel put in egal cu 2n+1;
prin denit ie
xn+1=Me
se nume ste median a, iar ^ n cazul ^ n care seria statistic a cont ine
nvalori
Me=xn+xn+1
2
Intervalul care cont ine pe xn=2se nume ste interval median .
Denit ie 5 Moda este valoarea caracteristicii variabile c areia ^ i co-
respunde frecvent a maxim a, iar un interval care cont ine modulul se
nume ste interval modal.
Dac a ( li 1; li) putem lua drept valoare a modei repartit iei mijlocul
acestui interval, adic a
M′
0=1
2(li 1+li)
Indicatorii folosit i pentru caracterizarea variat iei se bazeaz a pe cal-
culul unor abateri, abaterea medie absolut a reprezint a media aba-
terilor fat a de media aritmetic a luate ^ n valoare absolut a. ^In practic a,
pentru caracterizarea ^ mpr a stierii valorilor variabilei cu ajutorul aba-
terii medii absolute, se acord a preferint a medianei, deoarece m arimea
abaterii medii absolute este minim a, dac a m arimea fat a de care se cal-
culeaz a aceast a abatere coincide cu mediana.
14 CAPITOLUL 1. PRELIMINARII
Indicatorul abatere medie absolut a se utilizeaz a^ n cazul unui num ar
redus de date si atunci c^ and problema luat a ^ n studiu nu necesit a o
analiz a ulterioar a.
Denit ie 6 Amplitudinea reprezint a diferent a dintre valorile ex-
treme pe care le ia caracteristica variabil a.
Observat ie 1 ^In cazul select iilor de volum mic, mai ales c^ and select ia
se repet a si sunt folosite rezultatele select iilor anterioare, amplitudinea
este un indicator ce d a bune rezultate. Acestea a dus la folosirea ei ^ n
cazul veric arilor speciale ale calit at ii product iei.
Indicatorul care caracterizeaz a cel mai bine variat ia este dispersia.
Denit ie 7 Fiind dat a variabila aleatoare discret a:
X:(x1x2::: x n
p1p2::: p n)
denim media,
m=n∑
i=1xipi
dispersia
2=1
nn∑
i=1(xi x)2
siabaterea medie p atratic a
=vuut1
nn∑
i=1pi(xi m)2
1.1. MEDII STATISTICE.INDICATORI AI VARIAT IEI 15
Observat ie 2 Dispersiile (respectiv abaterile medii p atratice) sunt de-
osebit de utile, atunci c^ and se compar a dou a sau mai multe serii sta-
tistice.
Pentru o mai bun a interpretare a rezultatelor obt inute se utilizeaz a
coecientul de variat ie
v=s
x
Diferent ele mici ^ n forma variat iei se ^ nregistreaz a cu ajutorul momen-
telor de select ie.
Denit ie 8 Momentul de select ie de ordin r este dat de relat ia
emr=1
nn∑
i=1nixr
i
Denit ie 9 Momentele centrate sunt momentele calculate ^ n ra-
port cu media aritmetic a x;adic a
m′
r=1
nn∑
i=1ni(xi x)r
unde nisunt frecvent ele de aparit ie al elementelor xi:
Observat ie 3 Momentul centrat de ordin doi m′
2este tocmai
dispersia de select ie 2:
Forma unei repartit ii se poate aprecia si din punctul de vedere al
gradului de asimetrie pe care^ l reprezint a. Asimetria unei repartit ii
statistice este cu at^ at mai mare cu c^ at diferent a dintre x siM′
0este
mai mare. Putem arma c a:
As=x M′
0
16 CAPITOLUL 1. PRELIMINARII
Asimetria relativ a se determin a cu ajutorul formulei
As=x M′
0
iar dac a Mese localizeaz a mai precis dec^ at M′
0
As=3(x Me)
Din cele prezentate rezult a c a asimetria este nul a pentru repartit ia
normal a si pentru orice repartit ie simetric a.
1.2 Integrale Euleriene
Denit ie 10 Integrala
(a) =1∫
0xa 1e xdx
se nume ste integrala de spet a a II-a a lui Euler.
Propozit ie 1 Integrala de spet a II-a a lui Euler are urm atoarele pro-
priet at i:
(a) = ( a 1) (a 1)
(1) = 1 ; (1=2) =p
(n) = ( n 1)!
(a) =b∫
0xa 1e xdx+1∫
bxa 1e xdx
1.2. INTEGRALE EULERIENE 17
Denit ie 11 Integrala:
B(p; q) =1
2∫
0xp 1(1 x)q 1dx+1∫
1
2xp 1(1 x)q 1dx
21 p1
2∫
0dx
x1 p+ 21 p1∫
1
2dx
(1 x)1 q;
se nume ste integrala de spet a I a lui Euler.
Propozit ie 2 Au loc urm atoarele propriet at i:
B(a; b) =a 1
a+b 1B(a 1; b)
B(a; b+ 1) =b
a+bB(a; b)
B(a; b) = (a) (b)
(a+b)
B(a+ 1; b) =a
b+a (a; b)
Denit ie 12 Integrala
1∫
0e x2dx=1
2 (1
2) =2p
2
se nume ste integrala Euler-Poisson.
18 CAPITOLUL 1. PRELIMINARII
1.3 Funct ia de repartit ie. Densitatea de
probabilitate
Denit ie 13 Fieo variabil a aleatoare. Funct ia F(x)denit a pen-
tru8x2Rprin:
F(x) =P(t = (t)< x)
se nume ste funct ia de repartit ie a variabilei aleatoare :
Denit ie 14 Dac a A2K si P(A) >0 atunci
F(x =A ) =P(ft = (t)< xg= A)
se nume ste funct ia de repartit ie condit ionat a de evenimentul
A.
Funct ia de repartit ie a unei variabile aleatoare discrete se nume ste
funct ia de repartit ie de tip discret.
Propriet at i
10F(x1)F(x2);8×1< x 2(x1; x22R) adic a funct ia de repartit ie
este monoton cresc atoare,
20Funct ia de repartit ie este continu a la st^ anga,
F(x) =F(x 0)
30F(-1) = 0 ; F(+1) = 1
40Fieo variabil a aleatoare a c arei funct ie de repartit ie este F(x)
are loc:
P(ab) =F(b) F(a) +P(=b); a < b; a; b 2R
1.3. FUNCT IA DE REPARTIT IE. DENSITATEA DE PROBABILITATE 19
Denit ie 15 Fieo variabil a aleatoare a c arei funct ie de repartit ie
esteF(x):Dac a exist a o funct ie real a fdenit a pe R si integrabil a
a.^ .
F(x) =x∫
1f(u)du
pentru 8x2Ratunci numim funct ia fdensitatea de repartit ie
sau densitatea de probabilitate.
Observat ie 4 Dac a Fare o densitate de repartit ie fatunci
f(x) = F′(x) = lim
∆x!1F(x+ ∆x) F(x)
∆x=
= lim
∆x!1P(x < x + ∆x)
∆x
rezult a
P(x < x + ∆x) =f(x)dx
Propriet at i
1.f(x)0;8x2R
2.1∫
1f(u)du= 1
3.Pentru orice a < b reale are loc relat ia
P(a < b ) =b∫
af(u)du
Observat ie 5 Propriet at ile 1, 2 constituie condit ii suciente pentru
ca o funct ie fs a e densitate de probabilitate.
Variabilele aleatoare sunt caracterizate complet prin funct iile lor
de repatit ie.
20 CAPITOLUL 1. PRELIMINARII
1.4 Transformata lui Laplace
Denit ie 16 Tranformata lui Laplace a unei funct ii f(t);0< t <
1este o funct ie denit a astfe _l:
$ff(t)g=1∫
0e stf(t)dt= lim
b!1b∫
0e stf(t)dt;dac a exist a
Teorema 1
$featg=1
s a; s > a (1.1)
$(y′(t)) =sY(s) y(0) (1.2)
Corolar 1
$f1g=1
s(1.3)
Denit ie 17 Spunem ca funct ia f(t)are un ordin exponent ial,
dac a9c; M2R si un num ar natural T > 0astfel ^ nc^ at
jf(t)j Mect; tT (1.4)
Teorema 2 First Translation Theorem (FTT) 8a2Ratunci
$featf(t)g=F(s a);F(s) =$ff(t)g (1.5)
$featf(t)g=$ff(t)gs!s a
Denit ie 18 Dac a $ ff(t)g;atunci f(t)este inversa transformatei
Laplace ;
f(t) =$ 1fF(s)g (1.6)
Teorema 3 Dac a f(t)este continu a, f′(t)are derivata continu a
pe port iuni , f(t)^ ndepline ste condit ia (1.4) atunci:
$ff′(t)g=sF(s) f(0) (1.7)
Capitolul 2
Mediul de programare
RStudio
2.1 Prezentare general a
Cu R se poate lucra din linia de comand a sau cu ajutorul unei
interfet e grace; ^In cele ce urmeaz a vom folosi o astfel de interfat a
grac a: RStudio care este open-source si poate folosit a pe sistemele
de operare: Linux, Windows sau Mac.
La lansarea ^ n execut ie a mediului de programare RStudio apare
urm atoarea fereastr a (2.1):
21
22 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Figura 2.1: Fereastra de lucru
RStudio cont ine uzual patru paneluri (^ ncep^ and din st^ anga sus, ^ n
sens geometric): unul ^ n care se pot edita si executa scripturile R (care
cont in funct ii si comenzi) sau sierele de date, unul dedicat vizualiz arii
variabilelor, istoricului comenzilor etc., ^ n al treilea apar gracele, se
poate parcurge help-ul ata sat comenzilor si cont inutul sierelor din
directorul curent, iar ultimul panel este cel care cont ine prompterul
liniei de comand a >, aici se pot executa comenzi R.
O sesiune trebuie s a ^ nceap a prin setarea directorului de lucru: din
meniul Session ->Set Working Directory – >Choose Directory
si se va termina prin salvarea spat iului de lucru ^ n fereastra de dialog,
la ^ ntrebarea "Save workspace image to /.RData?" aleget i :"Save" din
Session – >Save Workspace As).
2.1. PREZENTARE GENERAL A 23
Pentru a a
a care este directorul de lucru, se va da comanda:
>getwd()
Pentru a modica calea se va folosii comanda:
>setwd("<Location of…")
Observat ie 6 Dac a dorim s a facem o extensie a directorului de lucru
se folose ste comanda:
>path.expand(path)
Exemplul 1 >path.expand("~/R")
[1] "C:/Users/DANIEL/Documents/R"
>setwd("C:/Users/DANIEL/Documents/R")
>getwd()
[1] "C:/Users/DANIEL/Documents/R"
^In meniul Tools-Install packages se g asesc opt iuni de instalare
separat a a unor pachete suplimentare de programe specializate pe di-
verse domenii prin care posibilit at ile lui RStudio se pot extinde foarte
mult. Se poate lucra astfel:
e ^ n regim interactiv: ^ n fereastra Rconsole (partea st^ ang a jos
a ecranului), dup a prompter-ul >, se scrie o comand a accep-
tat a de RStudio , apoi se apas a tasta Enter si rezultatul apare
imediat mai jos ^ n aceea si fereastr a, (dac a apare + ^ nseamn a c a
instruct iunea se complecteaz a pe r^ andul urm ator),
e prin script-uri, ^ n regim de programare: comenzile de calcul
sunt grupate ^ ntr-un sier cu extensia .rcare poate apelat ^ n
mai multe moduri.
24 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Un sier script poate scris ^ n orice editor de text, dar RStudio
are un editor ce se apeleaz a din meniul File prinfOpen script…sau
New script g.
Fi sierul script poate executat dup a ce se^ ncarc a^ n mediul RStudio
prinfFile – >Open script… gsau se poate folosi direct funct ia R
fsource() g,de exemplu, presupunand c a sierul script se nume ste prim.r
si se a
a ^ n directorul de lucru curent, se d a comanda scris a la promp-
terul >
>source("prim.r")
va avea ca efect ^ nc arcarea ^ n spat iul de lucru a sierului si execu-
tarea comenzilor cont inute ^ n sierul prim.r.
Pentru stergerea cont inutului consolei se folose ste cmanda CTRL+l
sau din meniul EDIT ultima opt iune.
Rstudio dispune de un mecanism de rechemare a comenzilor exe-
cutate ^ n linia de comand a ^ n fereastra RConsole . Se procedeaza ast-
fel: ^ n fereastra dreapta sus opt iunea history dublu click pe comanda
selectat a. Acestea pot reexecutate sau modicate folosind tastele
de navigare si apoi executate. Directorul curent (de lucru) poate
a
at prin comanda getwd() si poate xat si prin comanda se-
twd("directorul de lucru dorit").
RStudio dispune de funct ii care permit obt inerea rapid a de informat ii
referitoare la funct iile si facilit at ile sistemului RStudio instalat pe cal-
culatorul propriu.
Pentru a obt ine informat ii despre facilit at ile oferite de funct ia help() ,
se execut a comanda:
> help.start()
Se va lansa o pagin a web cu o serie link-uri care permit accesarea
informat iilor legate de sistemul RStudio . Pentru a obt ine informat ii
despre o anumit a funct ie RStudio , de exemplu qqplot , se execut a
comanda
2.1. PREZENTARE GENERAL A 25
> help(qqplot)
sau comanda alternativ a
> ?qqplot
^ n fereastra dreapta jos se a seaz a informat ii referitoare la funct ia
qqplot .
Dac a ^ n linia de comand a se tasteaz a:
> ??qqplot
Aceasta va deschide un Web browser cu o pagin a ^ n care se a seaz a
informat ii referitoare la funct ia qqplot . Pentru funct iile specicate
prin cuvinte cheie, ca de exemplu, if, while, function , argumentele
trebuie incluse ^ ntre ghilimele:
> help("if")
Pentru a a sa: siere, titluri, obiecte, etc. ce cont in un anumit sir
de caractere, se folose ste comanda:
> help.search(sir de caractere)
De exemplu:
> help.search("binomial")
sau echivalent
> ?binomial
^ n fereastra dreapta jos se a seaz a informat ii referitoare la funct ia
binomial . Pentru ^ nc arcarea de exemplu a pachetului grid, putem
folosi comanda:
> library(grid)
26 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Dac a dorim s a a
am informat ii despre un anumit pachet de pro-
grame, de exemplu utils tast am ^ n linia de comand a:
> library(help="utils")
Pentru vedea ce pachete de programe RStudio sunt disponibile ^ n
versiunea curent a, se poate folosi funct ia:
> library()
^In fereastra st^ anga sus va ap area:
Packages in library `C:/Users/Daniel/Documents/R/win-library/3.2':
acepack ace() and avas() for selecting regression transformations
assert that Easy pre and post assertions.
base64enc Tools for base64 encoding
bitops Bitwise Operations
Funct ia apropos g ase ste toate funct iile ale c aror nume cont in sirul
de caractere dat ca argument; se caut a doar ^ n pachetele ^ ncarcate ^ n
memorie :
> apropos(help)
[1] "help" ".helpForCall" "help.search"
[4] "help.start"
Pentru a vizualiza exemple referitoare la anumite funct ii R, de
exemplu pentru funct ia median , se poate proceda astfel:
> example(median),
iar r aspunsul sistemului este urm atorul:
median> median(1:4) # = 2.5 [even number]
[1] 2.5
median> median(c(1:3, 100, 1000)) # = 3 [odd, robust]
[1] 3
2.1. PREZENTARE GENERAL A 27
Pentru a vizualiza programe disponibile se utilizeaz a comanda:
>demo()
Spre exemplu o comand a:
>demo(persp)
va a sa diverse metode de reprezent ari grace ^ n 3D.
Observat ie 7 Trebuie precizat c a orice sir de caractere precedat de
simbolul `#' este interpretat ca ind un comentariu. Comenzile se pot
separa ^ n RStudio e prin simbolul punct si virgul a e se pot scrie pe
linii diferite, iar dac a linia de comanda este prea lunga se tasteaz a
Enter, iar pe linia urm atoare apare semnul + si se continu a.
Codul scris^ n limbajul RStudio este cod interpretat, instruct iunile
sunt compilate la un stadiu intermediar (bytecode), de unde sunt
transformate ^ n cod depenedent de ma sin a ^ n momentul execut iei.
Acest proces de interpretare face ca timpul de execut ie s a e mai
lung dec^ at pentru programele compilate de la ^ nceput ^ n cod-ma sin a
executabil.
Scrierea unui program RStudio se poate face^ n orice editor text. Se
poate utiliza editorul propriu (apelabil cu opt iunea \New script" din
meniul File) care are avantajul c a din el se poate rula o port iune din
program selectat ^ n prealabil prinr-un clic dreapta si alegerea opt iunii
\Run line or selection" din meniul contextual.
Dac a programul a fost salvat ^ n hard disc ^ n sierul prog.r, atunci
rularea lui se poate face cu comanda:
source(„prog.r'')
daca este in directorul curent, altfel trebuie indicata si calea.
Toate instruct iunile care se scriu la consol a ^ ntr-o sesiune de lucru
pot salvate la nal ^ n sierul text .Rhistory (\Save history" din
28 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
meniul File) de unde se pot rula din nou cu comanda \Load history"
(din meniul File). ^In acest fel se poate repeta prelucrarea unor date
^ ntr-o sesiune nou a sau se poate scrie un program dup a ce se execut a
pas cu pas instruct iunile lui ca si comenzi la consol a.
Apare la consol a mesajul:
Save workspace image to ~/.RData? [y/n]:y
Pentru a vedea care sunt caracterele speciale suportate de RStudio
scriem urmatorul script:
maybeOps <- objects("package:base", all.names=TRUE)
nameRegexp <- "^[.[:alpha:]][._[:alnum:]]*$"
maybeOps <- maybeOps[-grep(nameRegexp, maybeOps)]
nameGetsRegexp <- "^[.[:alpha:]][._[:alnum:]]*<-$"
maybeOps <- maybeOps[-grep(nameGetsRegexp, maybeOps)]
S3MethodRegexp <- "[.][[:alpha:]][._[:alnum:]]*$"
maybeOps <- maybeOps[-grep(S3MethodRegexp, maybeOps)]
maybeOps
Obt inem rezultatul:
[1] "-" "!" "!=" "$" "$<-""%%" "%*%" "%/%" "%in%""%o%""%x%"
[12] "&" "&&" "(" "*" "/" ":" "::" ":::" "@" "@<-" "["
[23] "[[" "[[<-" "[<-" "^" "{" "|" "||" "~" "+" "<" "<-"
[34] "<<-" "<=" "=" "==" ">" ">="
Pentru a a
a care sunt cuvintele cheie rezervate, scriem urm atorul
script:
allObjects <- objects("package:base", all=TRUE)
primitives <- sapply(allObjects,
function(x)is.primitive(get(x)))
primFuns <- allObjects[primitives]; primFuns
2.2. TIPURILE DE DATE ^IN R. 29
Ret inem urm atoarele macroinstruct iuni:
>mean(x)# calculeaza media unui vector x
>sd(x) # calculeaza abaterea medie patratica
>var(x)# calculeaza dispersia
>summary(x) # xmin, xmax,mediana, media,
prima cuantila, a treia cuantila.
De asemnenea este util sa tast am frecvent comanda:
> update.packages()
care veric a versiunile pachetelor instalate cu cele disponibile pe
CRAN (aceast a comand a poate apelat a si din meniul \Tools", opt iunea
"Check for Package Updates" ).
Utilizatorul poate apoi s a actualizeze pachetele cu versiuni mai
recente dec^ at cele instalate pe calculator.
Se pot utiliza comenzi matlab , dar trebuie instalat pachetul R.matlab
astfel:
> install.packages("R.matlab")
Ie sirea din sesiunea RStudio se poate face utiliz^ and comanda:
> q()
sau echivalent Ctrl+Q sau din meniul File alegem opt iunea Quit.
2.2 Tipurile de date ^ n R.
2.2.1 Obiecte
RStudio lucreaz a cu obiecte care sunt, desigur, caracterizate de
numele lor si de cont inut, dar si de atribute care specic a tipul datelor
30 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
reprezentate ^ n obiect. Pentru a ^ nt elege utilitatea acestor atribute,
consider am o variabila care poate lua valorile 1, 2, sau 3, o asemenea
variabil a poate de tip integer (de exemplu, num arul bilelor dintr-o
urn a) sau codicarea unei variabile categoriale (de exemplu, culoarea
lor albe, negre, ro sii)
Este clar c a analiza statistic a a acestei variabile nu va aceea si
^ n ambele cazuri: ^ n RStudio , atributele unui obiect dau informat ia
necesar a. ^In termeni mai tehnici si mai generali, act iunea unei funct ii
asupra unui obiect depinde de atributele acestuia din urm a.
Toate obiectele au dou a atribute intrinseci: categoria si lungimea.
Categoria reprezinta tipul de baz a al elementelor obiectului; exist a
patru categorii principale: numeric, caracter, complex, si logic (FALSE
or TRUE). Exista si alte categorii ^ ns a acestea nu reprezint a date, ca
de exemplu funct ia sau expresia.
Lungimea este num arul de elemente ale obiectului. Pentru a a sa
categoria si lungimea unui obiect, se pot utiliza funct iile mode si,
respectiv, length :
> x <- 1
> mode(x)
[1] "numeric"
> length(x)
[1] 1
> A <- "Produs_conform"; compar <- TRUE; z <- 1i
> mode(A); mode(compar); mode(z)
[1] "character"
[1] "logical"
[1] "complex"
Indiferent de categorie, datele lips a sunt reprezentate prin NA (not
available). O valoare numeric a foarte mare poate specicat a cu
ajutorul unei notat ii exponent iale:
2.2. TIPURILE DE DATE ^IN R. 31
> N <- 2.1e23
> N
[1] 2.1e+23
RStudio reprezint a ^ n mod corect valori numerice innite, cum ar
1 cu Inf si -Inf, sau valori nenumerice cu NaN (not a number ).
> x <- 5/0
> x
[1] Inf
> exp(x)
[1] Inf
> exp(-x)
[1] 0
> x – x
[1] NaN
O valoare a categoriei de tip caracter este introdus a cu ghilimele
duble ". Este posibil s a includ a ultimul caracter ^ n valoare dac a
acesta urmeaz a un backslash n. Cele dou a caractere n" vor tra-
tate ^ mpreun a ^ n mod specic de c^ ateva funct ii, cum ar catpentru
asarea pe ecran, sau write.table pentru scrierea pe hard-disk .
> x <- "Double quotes \" delimitate R's strings."
> x
[1] "Double quotes \" delimitate R's strings."
> cat(x)
Double quotes " delimitate R's strings.
Ca o alternativ a, variabilele de tip caracter pot delimitate cu
ghilimele simple ('); ^ n acest caz nu este necesar s a^ nlocuim ghilimelele
duble cu backslash-uri (^ ns a trebuie s a existe ghilimele simple!):
> x <- 'Double quotes " delimitate R\'s strings.'
32 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> x
[1] "Double quotes \" delimitate R's strings."
Tipurile fundamentale de date compuse din date simple sunt vecto-
rii, matricele, blocurile multidimensionale (array), data.frame, listele.
Se utilizeaz a de asemenea NA pentru date indisponibile si NaN pentru
valori ilegale (de exemplu nedetermin arile din analiza matematic a),
dar pot create tipuri noi de date [20, pag 11].
Un vector este o variabil a ^ n sensul general valabil, un factor este
o variabil a categorial a, un sir este un tabel cu kdimensiuni, o matrice
ind un caz particular de sir cu k= 2. De ret inut c a elementele
unui sir sau ale unei matrici sunt toate de acela si tip. O secvent a de
date este un tabel compus din unul sau c^ at iva vectori si/sau factori de
aceeasi lungime, dar posibil de tipuri diferite. Un `ts'este un set de
date de serii de timp ce cont ine atribute adit ionale cum ar frecvent a
si datele. Nu ^ n ultimul r^ and, o list a poate cont ine orice tip de obiect,
inclusiv liste!
^In cazul unui vector, tipul sau/ si lungimea sunt suciente pentru a
descrie datele. ^In cazul altor obiecte, sunt necesare alte informat ii care
sunt date de atribute non-intrinseci. Dintre aceste atribute, putem
ment iona dim, ce corespunde dimensiunilor unui obiect. De exemplu,
o matrice cu 2 linii si 2 coloane are pentru dim perechea de valori [2,
2], ^ ns a lungimea sa este 4.
Dac a sunt pe acela si r^ and instruct iunile se separ a prin \;" iar
dac a sunt pe r^ anduri diferite nu e nevoie de vreun semn de separat ie.
Pentru comentarea unor sect iuni de program se utilizeaz a caracterul
# la ^ nceputul liniei de comentariu. Dup a efectuare unui calcul dac a
vrem s a p astr am rezultatele ele trebuie atribuite unei variabile.
Atribuirea se face prin <- (variabila care prime ste valoarea atri-
buit a este V):
V <- expresie
V <- expresie
2.2. TIPURILE DE DATE ^IN R. 33
A=expresie
expresie->V
expresie->V
Atribuirile <- sau -> sunt locale
iar << – si – >> sunt globale.
Atribuirea prin = este echivalenta cu atribuirea – > .
2.2.2 Citirea datelor dintr-un sier
Pentru scrierea si citirea^ n siere, RStudio utilizeaza folderul de lu-
cru. Pentru a g asi acest folder, d am comanda getwd() , iar folderul de
lucru poate schimbat cu setwd("C:/data") sausetwd("/home/-
daniel"). Este necesar s a atribuim calea unui sier, dac a acesta nu
se a
a ^ n folderul de lucru.
RStudio poate citi date stocate^ n siere text (ASCII) cu urm atoarele
funct ii:
1.read.table ,
2.scan si read.fwf.
RStudio poate de asemenea s a citeasc a siere ^ n alte formate (Ex-
cel, SAS, SPSS, . . . ) si s a acceseze baze de date de tip SQL, ^ ns a
funct iile necesare nu se a
a ^ n pachetul base . Aceste funct ionalit at i
sunt foarte eciente pentru o utilizare mai avansata a RStudio.
Funct ia read.table are ca efect crearea unei secvent e de date,
iar aceasta este modalitatea principal a de citire a datelor ^ n forma
tabelar a. De exemplu, pentru un sier numit statistica.dat, comanda:
> mydata <- read.table("statistica.dat")
va crea o secvent a de date numita mydata, iar ecare variabil a va
numit a, implicit, V1, V2, . . . si poate accesat a individual prin
34 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
mydata$V1, mydata$V2,. . . , sau prin mydata["V1"], mydata["V2"],
. . . , sau o alt a variant a, prin mydata[, 1], mydata[,2 ], . . .
Exist a c^ ateva opt iuni ale caror valori implicite (de ex. cele utilizate
deRStudio dac a ele sunt omise de utilizator)
read.table(file, header = FALSE,sep = "",
quote = "\"'", dec = ".",row.names,col.names,as.is = FALSE,
na.strings = "NA", colClasses = NA, nrows = -1,
skip = 0, check.names = TRUE,fill = !blank.lines.skip,
strip.white = FALSE, blank.lines.skip = TRUE,
comment.char = "#")
Variantele read.table sunt eciente din moment ce au diferite
valori implicite:
read.csv(file, header = TRUE,sep = ",",quote="\"",dec=".",
fill = TRUE, …)
read.csv2(file,header = TRUE,sep = ";",quote="\"",dec=",",
fill = TRUE, …)
read.delim(file,header = TRUE,sep = "\t",quote="\"",dec=".",
fill = TRUE, …)
read.delim2(file,header = TRUE,sep = "\t",quote="\"",dec=",",
fill = TRUE, …)
Funct ia scan este mai
exibil a dec^ at read.table . O diferent a
const a ^ n posibilitatea specic arii tipului variabilelor, ca de exemplu:
> mydata <- scan("statistica.dat", what = list("", 0, 0))
cite ste ^ n sierul statistica.dat trei variabile, prima este de tip ca-
racter, iar urm atoarele dou a sunt de tip numeric.
O alt a diferent a important a este aceea c a scan() poate utilizat a
pentru crearea diferitelor obiecte, vectori, matrici, secvent e de date,
2.2. TIPURILE DE DATE ^IN R. 35
liste, . . . ^In exemplul anterior, mydata este o list a de trei vectori. ^In
mod implicit, dac a what este omis, scan() creaz a un vector numeric.
Dac a datele citite nu corespund tipului a steptat (nici cel implicit,
nici cel specicat de what), este a sat un mesaj de eroare. Optiunile
sunt urmatoarele:
scan(file = "",what = double(0),nmax = -1,n = -1,sep = "",
quote = if (sep=="\n") "" else "'\"", dec = ".",
skip = 0,nlines = 0,na.strings = "NA",
flush = FALSE,fill = FALSE strip.white = FALSE,
quiet = FALSE,
blank.lines.skip = TRUE, multi.line = TRUE,
comment.char = "",allow Escapes = TRUE)
Funct ia read.fwf poate utilizat a pentru citirea unor date^ ntr-un
sier ^ n format de dimensiune x a:
read.fwf(file,widths,header = FALSE,sep = "\t",as.is = FALSE,
skip = 0,row.names,col.names,n = -1,buffersize = 2000, …)
Opt iunile sunt acelea si ca pentru read.table() , cu except ia wi-
dths care specic a dimensiunea c^ ampurilor (buffersize este numarul
maxim de linii citite simultan).
2.2.3 Salvarea datelor
Funct ia write.table scrie ^ ntr-un sier un obiect, ^ n mod caracte-
ristic o secvent a de date, dar si alte tipuri de obiecte (vector, matrice,
. . . ). Argumentele si opt iunile sunt urm atoarele:
write.table(x, file = "", append = FALSE,quote = TRUE,
sep = " ",eol = "\n", na = "NA", dec = ".",
row.names = TRUE,col.names = TRUE,
qmethod = c("escape", "double"))
36 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Pentru a scrie mai simplu un obiect ^ ntr-un sier, poate utili-
zat a comanda write(x, le="statistica.txt") , unde x este numele
obiectului (care poate vector, matrice, sau un sir).
Exist a dou a opt iuni:
1.nc (sau ncol) care dene ste num arul de coloane din sier ( im-
plicit nc=1, dac a x este de tip caracter, nc=5 pentru alte tipuri)
si
2.append (de tip logic) pentru a adauga datele f ar a stergerea celor
posibil existente ^ n sier (TRUE) sau stergerea lor dac a sierul
exist a deja (FALSE, ^ n mod implicit).
Pentru a ^ nregistra un grup de obiecte de orice tip, putem uti-
liza comanda save(x, y, z, le= "statistica.RData") . Pentru a
u sura transferul de date dintre diferite zone, poate utilizat a opt iunea
ascii = TRUE. Datele pot ^ nc arcate mai t^ arziu ^ n memorie cu
load("statistica.RData") . Functia save.image() este un shortcut
pentru save(list =ls(all=TRUE), le=".RData") .
2.2.4 Generarea datelor
Secvent e regulate
O secvent a regulat a de obiecte integer, de exemplu de la 1 la 50,
poate generat a astfel:
> x <- 1:50
Vectorul rezultat x are 50 de elemente. Operatorul `:' are prioritate
fat a de operatorii aritmetici ^ n cadrul unei expresii:
> 1:10-1
[1] 0 1 2 3 4 5 6 7 8 9
> 1:(10-1)
[1] 1 2 3 4 5 6 7 8 9
2.2. TIPURILE DE DATE ^IN R. 37
Funct ia seqpoate genera secvent e de numere reale dup a cum ur-
meaz a:
> seq(1, 6, 0.5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6
unde primul num ar indic a ^ nceputul secvent ei, al doilea sf^ ar situl,
iar al treilea pasul utilizat pentru generarea secvent ei.
Se mai poate utiliza si:
> seq(length=9, from=1, to=5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Se pot atribui direct valori utiliz^ and funct ia c:
> c(1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5, 5)
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Este posibil, dac a se dore ste introducerea unor date prin tastatur a,
folosirea funct iei scan cu opt iunile implicite precum urmeaz a:
> z <- scan()
1: 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
10:
Read 9 items
> z
[1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Funct ia repcreaz a un vector cu toate elementele identice:
> rep(1, 5)
[1] 1 1 1 1 1
Funct ia sequence creaz a o serie de secvent e de obiecte integer
terminat a ecare cu numerele date ca argumente:
38 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> sequence(4:5)
[1] 1 2 3 4 1 2 3 4 5
> sequence(c(10,5))
[1] 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5
Funct ia gl(eng. generates levels) este foarte util a ^ ntrucat gene-
reaz a serii regulate de factori. Utilizarea acestei funct ii se face prin
gl(k, n), unde k este num arul de niveluri (sau clase) si n este num arul
de r aspunsuri ^ n ecare nivel. Pot utilizate dou a opt iuni: length
pentru a specica num arul de date generate si labels pentru a specica
numele nivelurilor factorului.
Exemple [20, pag 18]:
> gl(3, 5)
[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3
> gl(3, 5, length=15)
[1] 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3
Levels: 1 2 3
> gl(2,3,label=c("Produs_Conform", "Produs_Neconform"))
[1] Produs_Conform Produs_Conform Produs_Conform
[7] Produs_Neconform Produs_Neconform Produs_Neconform
Levels: Produs_Conform Produs_Neconform
> gl(2, 10)
[1] 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2
Levels: 1 2
> gl(2, 1, length=20)
[1] 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2
Levels: 1 2
> gl(2, 2, length=20)
[1] 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2 1 1 2 2
Levels: 1 2
2.2. TIPURILE DE DATE ^IN R. 39
expand.grid() creaz a o secvent a de date cu toate combinat iile de
vectori sau factori dat i ca argumente:
> expand.grid(h=c(60,80),w=c(100, 300),
conformitate=c("Produs_Conform", "Produs_Neconform"))
h w conformitate
1 60 100 Produs_Conform
2 80 100 Produs_Conform
3 60 300 Produs_Conform
4 80 300 Produs_Conform
5 60 100 Produs_Neconform
6 80 100 Produs_Neconform
7 60 300 Produs_Neconform
8 80 300 Produs_Neconform
^In statistic a si simul ari este necesar s a se poat a genera date alea-
toare, iar RStudio poate face asta pentru o gam a larg a de distribut ii
de probabilitate. Aceste functii sunt de forma rfunc(n, p1, p2, … ),
unde func indic a probabilitatea distribut iei, n num arul de date gene-
rate, iar p1, p2, etc sunt valorile parametrilor distribut iei.
Majoritatea acestor funct ii au echivalente obt inute prin ^ nlocuirea
literei r cu d, p sau q pentru a obt ine, densitatea de probabilitate
(dfunc(x, …)), distribut ia cumulativ a de probabilitate (pfunc(x, …)),
respectiv valoarea quantilei (qfunc(p, …), cu 0 <p<1). Ultimele
seturi de funct ii pot utilizate pentru a g asi valorile critice (cuantilele)
sau P-values ale testelor statistice.
De exemplu, valorile critice de 5% ale unei distribut ii normale:
> qnorm(0.025)
[1] -1.959964
> qnorm(0.975)
[1] 1.959964
40 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
2.2.5 Manipularea obiectelor
Crearea obiectelor
Este posibil a crearea unui obiect si specicarea modului sau a lun-
gimii, categoriei, etc, aceast a manier a este interesant a din perspec-
tiva manipul arii obiectelor. Este posibil a, spre exemplu, crearea unui
obiect 'gol' si modicarea elementelor sale ^ n mod succesiv, ceea ce
este mai ecient dec^ at combinarea elementelor sale cu c(). Poate de
asemenea foarte convenabil a crearea unor obiecte din altele deja exis-
tente. De exemplu, dac a se dore ste ajustarea unei serii de modele, se
pune formula ^ ntr-o list a, iar apoi se extrag succesiv elementele pentru
a le insera ^ n funct ia lm.
1.Vector . Funct ia vector, care are dou a argumente mode silen-
gth, creaz a un vector ale c arui elemente au o valoare dependent a
de tipul specicat ca argument: 0 pentru numeric, FALSE pen-
tru logic, sau "" pentru caracter.
2.Factor . Un factor include nu doar valorile corespunzatoare va-
riabilei categoriale, ci si diferitele niveluri posibile ale acelei va-
riabile (chiar dac a nu exist a ^ n date).
Functia factor creaz a un factor cu urm atoarele opt iuni:
factor(x,levels = sort(unique(x),na.last = TRUE),
labels = levels,exclude = NA,ordered = is.ordered(x))
levels specic a posibilele niveluri ale factorului (^ n mod implicit
valorile unice ale vectorului x), labels deneste numele nivelurilor, ex-
clude valorile lui x pentru excluderea din niveluri si ordered este un
argument
logic ce specica dac a nivelurile factorului sunt ordonate. Reche-
marea lui x este de tip numeric sau caracter.
D am urm atoarele exemple.
2.2. TIPURILE DE DATE ^IN R. 41
> factor(1:3)
[1] 1 2 3
Levels: 1 2 3
> factor(1:3,levels=1:5)
[1] 1 2 3
Levels: 1 2 3 4 5
> factor(1:3, labels=c("A","B","C"))
[1] A B C
Levels: A B C
> factor(1:5,exclude=4)
[1] 1 2 3 NA 5
Levels: 1 2 3 5
Funct ia levels extrage posibilele niveluri ale unui factor astfel:
> ff <- factor(c(2, 4),levels=2:5)
> ff
[1] 2 4
Levels: 2 3 4 5
> levels(ff)
[1] "2" "3" "4" "5"
3.Matrice. O matrice este de fapt un vector cu un atribut adit ional
(dim) care la r^ andul lui este un vector numeric de lungime 2 si
dene ste num arul de linii si coloane ale matricii.
O matrice poate creat a cu funct ia matrix:
matrix(statistica = NA,nrow = 1,ncol = 1,
byrow = FALSE,dimnames = NULL)
Opt iunea byrow indic a, dac a valorile date de statistica trebuie s a
completeze succesiv coloanele (varianta implicit a) sau liniile (pentru
42 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
TRUE). Opt iunea dimnames permite atribuirea de nume liniilor si
coloanelor.
Exemple:
> matrix(data=5,nr=2,nc=2)
[,1] [,2]
[1,] 5 5
[2,] 5 5
> matrix(1:6,2,3)
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> matrix(1:6,2,3,byrow=TRUE)
[,1] [,2] [,3]
[1,] 1 2 3
[2,] 4 5 6
O alt a modalitate de creare a unei matrici este atribuirea de valori
corespunzatoare atributului dim (care init ial este NULL):
> x <- 1:15
> x
[1] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
> dim(x)
NULL
> dim(x) <- c(5,3)
> x
[,1] [,2] [,3]
[1,] 1 6 11
[2,] 2 7 12
[3,] 3 8 13
[4,] 4 9 14
[5,] 5 10 15
2.2. TIPURILE DE DATE ^IN R. 43
4.Secvent a de date. Am v azut p^ an a acum c a o secvent a de date
este creat a implicit de funct ia read.table ; de asemenea este
posibil a crearea unei secvent e de date cu funct ia data.frame.
Vectorii astfel inclu si ^ n secvent a de date trebuie s a e de aceea si
lungime, sau dac a unul dintre ei este mai scurt, este \reciclat"
de un anumit num ar de ori.
D am urm atorul exemplu:
> x <- 1:4; n <- 10; M <- c(10, 35); y <- 2:4
> data.frame(x,n)
x n
1 1 10
2 2 10
3 3 10
4 4 10
> data.frame(x,M)
x M
1 1 10
2 2 35
3 3 10
4 4 35
> data.frame(x,y)
Error in data.frame(x y) :
arguments imply differing number of rows: 4,3
Dac a un factor este inclus ^ n secvent a de date, trebuie s a e de
aceea si lungime cu vectorul (vectorii). Este posibil a schimbarea nume-
lor coloanelor cu, comanda, data.frame(A1=x, A2=n). De aseme-
nea se pot atribui nume liniilor cu opt iunea row.names care trebuie
s a e, bineint eles, un vector de tip caracter si cu lungimea egal a cu
num arul de linii ale secvent ei de date. De ret inut c a secvent ele de date
au un atribut dim similar cu matricile.
44 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
5,List. O list a este creat a ^ ntr-un mod similar cu secvent ele de
date prin funct ia list. Nu exist a nicio limitare asupra num arului
obiectelor din list a.
Spre deosebire de data.frame() , numele obiectelor nu sunt luate
implicit; atribuirea vectorilor x si y se ilustreaz a ^ n exemplul
urm ator:
> L1 <- list(x,y); L2 <- list(A=x,B=y)
> L1
[[1]]
[1] 1 2 3 4
[[2]]
[1] 2 3 4
> L2
$A
[1] 1 2 3 4
$B
[1] 2 3 4
> names(L1)
NULL
> names(L2)
[1] "A" "B"
6.Serii de timp. Funct ia tscreaz a un obiect de clasa "ts" dintr-un
vector (serii de timp singulare) sau dintr-o matrice (serii de timp
multivariate) si c^ ateva opt iuni care caracterizeaz a seriile.
Opt iunile, cu valorile implicite, sunt urm atoarele:
ts(statistica = NA,start = 1,end = numeric(0),frequency = 1,
deltat = 1,ts.eps = getOption("ts.eps"),class,names)
2.2. TIPURILE DE DATE ^IN R. 45
statistica un vector sau o matrice, start timpul primei observat ii, e
c a este un num ar sau un vector de dou a numere ^ ntregi (vezi exemplul
anterior) end timpul ultimei observat ii specicat ^ n acela si mod ca si
start frequency num arul de observat ii pe unitate de timp deltat=
fract iunea perioadei de e santionare dintre observat ii succesive (ex.
1/12 pentru date lunare); doar o frequency sau deltat trebuie atri-
buite.
ts.eps tolerant a pentru comparat ia seriilor.
Frecvent ele sunt considerate egale dac a diferent ele lor sunt mai
mici dec^ at ts.eps, class clasa atribuit a obiectului; cea implicit a este
"ts" pentru o serie singular a si c("mts", "ts") pentru serii multivariate
names un vector de tip caracter cu numele seriilor individuale ^ n cazul
seriilor multivariate; ^ n mod implicit numele coloanelor data sau Series
1, Series 2, . . .
Exemple [20, pag24]:
> ts(1:10,start = 2010)
Time Series:
Start =
End = 2019
Frequency = 1
[1] 1 2 3 4 5 6 7 8 9 10
> ts(1:47, frequency = 12, start = c(2016,2))
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec
2016 1 2 3 4 5 6 7 8 9 10 11
2017 12 13 14 15 16 17 18 19 20 21 22 23
2018 24 25 26 27 28 29 30 31 32 33 34 35
2019 36 37 38 39 40 41 42 43 44 45 46 47
> ts(1:10,frequency = 4,start = c(2016,2))
Qtr1 Qtr2 Qtr3 Qtr4
2016 1 2 3
2017 4 5 6 7
46 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
2018 8 9 10
> ts(matrix(rpois(36, 5),12,3),start=c(2016,1),
frequency=12)
Series 1 Series 2 Series 3
Jan 2016 8 5 4
Feb 2016 6 6 9
Mar 2016 2 3 3
Apr 2016 8 5 4
May 2016 4 9 3
Jun 2016 4 6 13
Jul 2016 4 2 6
Aug 2016 11 6 4
Sep 2016 6 5 7
Oct 2016 6 5 7
Nov 2016 5 5 7
Dec 2016 8 5 2
7.Expresia. Obiectele de tip expresie au un rol fundamental ^ n
RStudio . O expresie este o serie de caractere care au sens pentru
RStudio , toate comenzile valide sunt expresii. Atunci c^ and o
comand a este introdus a direct prin tastatur a este evaluat a de
c atre RStudio si executat a dac a este valid a. ^In multe cazuri,
este necesar a construirea unei expresii f ar a evaluarea ei: aceasta
este ceea ce execut a funct ia expression . Este, de asemenea,
posibil a evaluarea ulterioar a a expresiei cu eval() .
> x <- 3;y <- 2.5;z <- 1
> exp1 <- expression(x/(y + exp(z)))
> exp1
expression(x/(y + exp(z)))
> eval(exp1)
[1] 0.5749019
2.2. TIPURILE DE DATE ^IN R. 47
O expresie poate creat a dintr-o variabil a de tip caracter. C^ ateva
funct ii recunosc expresiile ca argumente, de exemplu D care returneaz a
derivate part iale:
> D(exp1,"x")
1/(y + exp(z))
> D(exp1,"y")
-x/(y + exp(z))^2
> D(exp1,"z")
-x * exp(z)/(y + exp(z))^2
Conversia obiectelor
O asemenea conversie va efectuat a cu o funct ie de tipul as.something.
Rezultatul unei conversii depinde, evident, de atributele obiectului
convertit.
^In general, conversia urmeaz a reguli intuitive care se pot reg asi ^ n
lucrarea [20, pag 26]. Exist a funct ii speciale pentru conversia tipurilor
obiectelor (as.matrix, as.ts, as.data.frame, as.expression,etc). Aceste
funct ii vor modica alte atribute ^ n afara de tip ^ n timpul conversiei.
Rezultatele sunt, din nou, intuitive ^ n general. O situat ie frecvent
^ nt^ alnit a este conversia factorilor ^ n valori numerice.
^In acest caz, RStudio face conversia cu o codare numeric a a nive-
lurilor factorului:
> fac <- factor(c(1,10))
> fac
[1] 1 10
Levels: 1 10
> as.numeric(fac)
[1] 1 2
Aceasta are sens, atunci c^ and se consider a un factor de tip caracter:
48 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> fac2 <- factor(c("Produs_Conform","Produs_Neconform"))
> fac2
[1] Produs_Conform Produs_Neconform
Levels: Produs_Conform Produs_Neconform
> as.numeric(fac2)
[1] 1 2
Pentru a converti factorul de tip numeric ^ ntr-un vector numeric cu
p astrarea nivelurilor a sa cum erau specicate, trebuie convertit ^ nt^ ai
^ n caracter, apoi ^ n numeric.
> as.numeric(as.character(fac))
[1] 1 10
Aceast a procedur a este foarte util a, dac a ^ ntr-un sier o variabil a
numeric a are si valori nenumerice. Read.table() ^ ntr-o asemenea
situat ie dat a, va citi, implicit, aceast a coloan a ca si factor.
Operatorii aritmetici si de comparat ie actioneaz a asupra a dou a
elemente (x + y, a <b). Operatorii aritmetici actioneaz a nu doar
asupra variabilelor de tip numeric sau complex, dar si asupra variabi-
lelor logice; ^ n cazul din urm a, valorile logice sunt fort at transformate
^ n numerice. Operatorii de comparat ie pot aplicat i oric arui tip: ei
returneaz a una sau mai multe valori logice.
Operatorii logici sunt aplicat i unui (!) sau unor obiecte de tip logic
si returneaz a una (sau mai multe) valori logice. Operatorii \SI" si
\SAU" exist a sub dou a forme:
1.cel simplu actioneaz a asupra ecarui element din obiect si retur-
neaz a tot at^ atea valori logice c^ ate comparat ii s-au f acut;
2.cel dublu opereaz a asupra primului element al obiectului.
Este necesar a utilizarea operatorului \SI" pentru a specica o in-
egalitate de tipul 0 <x<1 care va codat a prin: 0 <x & x <1.
2.2. TIPURILE DE DATE ^IN R. 49
Expresia 0 <x<1 este valid a, dar nu va returna rezultatul a steptat:
din moment ce operatorii sunt identici, vor executat i succesiv de la
st^ anga la dreapta. Comparat ia 0 <x este executat a prima si retur-
neaz a o valoare de tip logic care este apoi comparata cu 1 (TRUE sau
FALSE <1): ^ n aceast a situat ie, valoarea logica este implicit trans-
format a ^ n tip numeric (1 sau 0 <1).
> x <- 0.5
> 0 < x < 1
[1] FALSE
Operatorii de comparat ie opereaz a pe ecare element al ambelor
obiecte de comparat (recicl^ and valorile celei mai scurte dac a este ne-
cesar) si astfel returneaz a un obiect de aceea si lungime. Pentru a
compara `^ n ^ ntregime' dou a obiecte, sunt disponibile dou a funct ii:
identical siall.equal.
> x <- 1:3; y <- 1:3
> x == y
[1] TRUE TRUE TRUE
> identical(x, y)
[1] TRUE
> all.equal(x, y)
[1] TRUE
Funct ia identical compar a reprezentarea intern a a datelor si re-
turneaz a TRUE, dac a obiectele sunt identice si FALSE ^ n caz contrar.
Functia all.equal compar a \egalitatea element cu element" a dou a
obiecte si returneaz a TRUE sau a seaz a un sumar al diferent elor. Cea
de-a doua funct ie ia ^ n considerare aproximarea calculului procesului,
atunci c^ and compar a valori numerice.
> 0.9 == (1 – 0.1)
[1] TRUE
50 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> identical(0.9, 1 – 0.1)
[1] TRUE
> all.equal(0.9, 1 – 0.1)
[1] TRUE
> 0.9 == (1.1 – 0.2)
[1] FALSE
> identical(0.9, 1.1 – 0.2)
[1] FALSE
> all.equal(0.9, 1.1 – 0.2)
[1] TRUE
> all.equal(0.9, 1.1 – 0.2, tolerance = 1e-16)
[1] "Mean relative difference: 1.233581e-16"
Sistemul de indexare
Sistemul de indexare este o cale ecient a si
exibil a de a accesa
^ n mod selectiv elementele unui obiect; poate at^ at numeric c^ at si
logic. Pentru a accesa, spre exemplu, a doua valoare a unui vector x,
introducem x[2] care poate folosit at^ at pentru a extrage c^ at si pentru
a schimba aceast a valoare:
> x <- 1:5
> x[2]
[1] 2
> x[2] <- 18
> x
[1] 1 18 3 4 5
Chiar indexul poate un vector de tip numeric:
> i <- c(1,3)
> x[i]
[1] 1 18
2.2. TIPURILE DE DATE ^IN R. 51
Dac a x este o matrice sau o secvent a de date, valoarea liniei i si a
coloanei j este accesat a cu x[i; j]:Pentru a accesa toate valorile ale unei
anumite linii sau coloane, trebuie s a se omit a indexul corespunzator
(f ar a a uita virgula!):
> x <- matrix(1:6,2,3)
> x
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> x[, 3] <- 21:22
> x
[,1] [,2] [,3]
[1,] 1 3 21
[2,] 2 4 22
> x[, 3]
[1] 21 22
Indexarea poate utilizat a de asemenea pentru a suprima unul
sau mai multe linii sau coloane utiliz^ and valori negative. De exemplu,
x[-1,] va suprima prima linie, ^ n timp ce x[-c(1, 15),] va face acelasi
lucru pentru linia 1 si linia 15. Pentru exemplicare utiliz am matricea
denit a mai sus.
> x[, -1]
[,1] [,2]
[1,] 3 21
[2,] 4 22
> x[, -(1:2)]
[1] 21 22
> x[, -(1:2), drop = FALSE]
[,1]
[1,] 21
52 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
[2,] 22
Acest sistem de indexare este schematizat ^ n siruri, cu un num ar
de indici egal cu num arul de dimensiuni ale sirului (de exemplu, un
sir de dimensiune 3: x[i; j; k ]; x[; ;3]; x[; ;3; drop =FALSE ], etc.
Observat ie 8 Poate util de ret inut c a indexarea se face cu paran-
teze p atrate, ^ n timp ce parantezele rotunde sunt utilizate pentru argu-
mentele unei funct ii.
Pentru vectori, matrici si siruri, este posibil a accesarea valorilor
unui element cu o expresie de comparat ie ca ^ n indexul:
> x <- 1:10
> x[x >= 5] <- 20
> x
[1] 1 2 3 4 20 20 20 20 20 20
> x[x == 1] <- 25
> x
[1] 25 2 3 4 20 20 20 20 20 20
^In cazul listelor, accesarea diferitelor elemente (care pot orice tip
de obiect) este efectuat a e cu paranteze p atrate simple e cu duble:
diferent a este ca prin parantezele simple se returneaz a o lista, ^ n timp
ce parantezele duble extrag obiectul dintr-o lista. Rezultatul poate
indexat a sa cum s-a prezentat anterior pentru vectori, matrici, etc.
Spre exemplu, dac a al treilea obiect al unei liste este vector, valoarea
ia sa poate accesat a utiliz^ and my.list[[3]][i], dac a este un sir de
dimensiune 3 utilizand my.list[[3]][i,j, k] si a sa mai departe.
O alta diferent a este aceea c a my.list[1:2] va returna o list a cu
primele dou a elemente din lista original a, de si my.list[[1:2]] nu va da
rezultatul a steptat.
2.2. TIPURILE DE DATE ^IN R. 53
Accesarea valorilor unui obiect cu nume
Numele sunt etichete ale elementelor unui obiect, prin urmare sunt
de tip caracter, ele sunt ^ n general atribuite opt ional.
Exist a mai multe tipuri de nume (names, colnames, rownames,
dimnames).
Numele unui vector sunt memorate ^ ntr-un vector de aceea si lun-
gime cu obiectul si pot accesate cu funct ia names .
> x <- 1:3
> names(x)
NULL
> names(x) <- c("a","b","c")
> x
a b c
1 2 3
> names(x)
[1] "a" "b" "c"
> names(x) <- NULL
> x
[1] 1 2 3
Pentru matrici si secvent e de date, colnames sirownames sunt
etichetele pentru coloane si, respectiv linii. Acestea pot accesate at^ at
cu funct iile lor corespunzatoare, c^ at si cu dimnames care returneaz a
o list a cu ambii vectori.
> X <- matrix(1:4, 2)
> rownames(X) <- c("a","b")
> colnames(X) <- c("c","d")
> X
c d
a 1 3
54 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
b 2 4
> dimnames(X)
[[1]]
[1] "a" "b"
[[2]]
[1] "c" "d"
Pentru siruri, numele dimensiunilor pot accesate cu dimnames :
> A <- array(1:8, dim = c(2, 2, 2))
> A
, , 1
[,1] [,2]
[1,] 1 3
[2,] 2 4
, , 2
[,1] [,2]
[1,] 5 7
[2,] 6 8
> dimnames(A) <- list(c("a", "b"), c("c", "d"), c("e", "f"))
> A
, , e
c d
a 1 3
b 2 4
, , f
c d
a 5 7
b 6 8
Dac a elementele unui obiect au nume, acestea pot extrase uti-
liz^ andu-le sub forma de indici. De fapt, aceasta poart a numele de
2.2. TIPURILE DE DATE ^IN R. 55
`subsetting' mai degrab a dec^ at `extraction' din moment ce sunt
p astrate atributele obiectului original. De exemplu, dac a o secvent a
de date DF contine variabilele x, y si z, comanda DF["x"] va returna
o secvent a de date doar cu x; DF[c("x", "y")] va returna o secvent a
de date cu ambele variabile. Aceasta funct ioneaz a si cu liste dac a
elementele acesteia au nume.
Editorul de date
Se poate utiliza o l a grac a pentru editarea unui obiect de \date".
De exemplu, daca X este o matrice, comanda data.entry(X) va lansa
un editor grac si se vor putea modica valori prin selectarea celulelor
respective, or to add sau se vor putea adauga coloane noi sau linii.
Funct ia data.entry modic a direct obiectul dat ca argument f ar a
s a e nevoie s a i se atribuie rezultatul. Pe de alta parte, funct ia
returneaz a o list a cu obiectele date ca argumente si posibil modicate.
Acest rezultat este a sat pe ecran ^ n mod implicit, ^ ns a, ca pentru
majoritatea funct iilor, poate atribuit unui obiect.
Funct ii aritmetice simple
Vectorii pot manipulat i cu expresii aritmetice clasice:
> x <- 1:4
> y <- rep(1, 4)
> z <- x + y
> z
[1] 2 3 4 5
Dac a vrem s a adun am (sau s a ^ nmult im) cu aceea si valoare tuturor
elementelor unui vector:
> x <- 1:4
56 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> a <- 10
> z <- a * x
> z
[1] 10 20 30 40
Observat ie 9 Se pot g asi toate funct iile matematice de baz a (log, exp,
log10, log2, sin, cos, tan, asin, acos, atan, abs, sqrt, . . . ), funct iile
speciale (gamma, digamma, beta, besselI, . . . ), ca si alte diverse
funct ii utilizate ^ n statistic a [20].
Calcul matriceal
RStudio ofer a facilit at i pentru calcule si manipul ari ale matrici-
lor. Funct iile rbind sicbind ^ mbin a matrici t in^ and cont de linii sau
coloane, respectiv:
> m1 <- matrix(1,nr = 2,nc = 2)
> m2 <- matrix(2,nr = 2,nc = 2)
> rbind(m1,m2)
[,1] [,2]
[1,] 1 1
[2,] 1 1
[3,] 2 2
[4,] 2 2
> cbind(m1,m2)
[,1] [,2] [,3] [,4]
[1,] 1 1 2 2
[2,] 1 1 2 2
Operatorul care realizeaz a produsul a dou a matrici este ` %*% '.
De exemplu, consider^ and cele dou a matrici m1 si m2 de mai sus:
> rbind(m1,m2)%*% cbind(m1,m2)
2.2. TIPURILE DE DATE ^IN R. 57
[,1] [,2] [,3] [,4]
[1,] 2 2 4 4
[2,] 2 2 4 4
[3,] 4 4 8 8
[4,] 4 4 8 8
> cbind(m1,m2)%*% rbind(m1,m2)
[,1] [,2]
[1,] 10 10
[2,] 10 10
Transpusa unei matrici este efectuat a cu funct ia t; aceast a funct ie
este valabil a si pentru secvent e de date.
Functia diag poate utilizat a pentru a extrage sau a modica
diagonala unei matrici, sau pentru a construi o matrice diagonal a.
> diag(m1)
[1] 1 1
> diag(rbind(m1,m2) %*% cbind(m1,m2))
[1] 2 2 8 8
> diag(m1) <- 10
> m1
[,1] [,2]
[1,] 10 1
[2,] 1 10
> diag(3)
[,1] [,2] [,3]
[1,] 1 0 0
[2,] 0 1 0
[3,] 0 0 1
> v <- c(10,20,30)
> diag(v)
[,1] [,2] [,3]
[1,] 10 0 0
58 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
[2,] 0 20 0
[3,] 0 0 30
> diag(2.1,nr = 3,nc = 5)
[,1] [,2] [,3] [,4] [,5]
[1,] 2.1 0.0 0.0 0 0
[2,] 0.0 2.1 0.0 0 0
[3,] 0.0 0.0 2.1 0 0
RStudio are si c^ ateva funct ii speciale pentru calcule cu matrici.
Putem ment iona solve pentru inversarea unei matrici, qrpentru des-
compunere, eigen pentru calculul valorilor si vectrilor proprii si svd
pentru descompunerea cu valori singulare.
2.3 Programarea ^ n RStudio
2.3.1 Bucle si vectoriz ari
Un avantaj al lui RStudio fat a de alte software-uri cu meniuri pull-
down menus este posibilitatea program arii seriilor de analize simple
care vor executate ^ n mod succesiv. Acest aspect este comun tutu-
ror limbajelor de calculatoare, ^ ns a RStudio are c^ ateva caracteristici
particulare ce fac programarea mai u soar a pentru non-speciali sti.
Ca si alte limbaje, RStudio are cateva structuri de control care sunt
diferite fat a de cele din limbajul C++. S a presupunem c a avem un
vector x, si pentru ecare element al lui x cu valoarea b, dorim s a
atribuim valoarea 0 unei alte variabile y, altfel 1. Vom crea ^ nt^ ai un
vector y de aceea si lungime cu x:
y <- numeric(length(x))
for (i in 1:length(x))
if (x[i] == b) y[i]<- 0 else y[i]<- 1
2.3. PROGRAMAREA ^IN RSTUDIO 59
Instruct iunile pot executate dac a sunt plasate ^ n interiorul aco-
ladelor:
for (i in 1:length(x)) {
y[i] <- 0
…
}
if (x[i] == b) {
y[i] <- 0
…
}
Cu toate acestea, buclele si structurile de control pot evitate
^ n majoritatea situat iilor datorit a unei caracteristici a RStudio -ului:
vectorizarea. Vectorizarea face ca buclele s a e implicite ^ n expresie.
Vom considera adunarea a doi vectori:
> z <- x + y
Aceast a adunare poate scris a cu o bucl a, a sa cum este posibil ^ n
majoritatea limbajelor:
> z <- numeric(length(x))
> for (i in 1:length(z))
z[i] <- x[i] + y[i]
^In acest caz, este necesar s a cre am ^ n prealabil un vector z datorit a
utiliz arii sistemului de indexare. Atent ie, bucla explicit a va funct iona
doar dac a x si y au aceea si lungime: trebuie schimbat a dac a aceast a
condit ie nu este ^ ndeplinit a, cu toate c a prima expresie va funct iona ^ n
toate situat iile. Execut iile condit ionale (if … else) pot evitate prin
utilizarea indexarii logice; ne vom intoarce la exemplul anterior:
> y[x == b] <- 0
> y[x != b] <- 1
60 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
^In afar a de faptul c a sunt mai simple, expresiile vectorizate sunt
mai eciente din punct de vedere al computerizarii, ^ n special pentru
date de dimensiuni mari.
Exista si c^ ateva funct ii de tipul ` apply ' care evit a scrierea buclelor,
apply act ioneaz a asupra r^ andurilor si/sau coloanelor unei matrici,
sintaxa sa ind:
apply(X, MARGIN, FUN, …),
unde X este o matrice, MARGIN arat a dac a se considera r^ andurile
(1), coloanele (2), sau ambele (c(1, 2)), FUN este o funct ie (sau un
operator, ^ nsa ^ n acest caz trebuie specicat ^ n paranteze) pentru apli-
care, iar … sunt alte argumente optionale pentru FUN.
> x <- rnorm(10, -5, 0.1)
> y <- rnorm(10, 5, 2)
> X <- cbind(x, y)#the columns of X keep
#the names "x" and "y"
> apply(X, 2, mean)
x y
-4.975132 4.932979
> apply(X, 2, sd)
x y
0.0755153 2.1388071
lapply() actioneaz a asupra unei liste: sintaxa sa este similar a cu
cea a funct iei apply si returneaz a o list a.
> forms <- list(y ~x, y ~poly(x,2))
> lapply(forms, lm) lapply(forms, lm)
[[1]]
FUN(formula = X[[1]])
2.3. PROGRAMAREA ^IN RSTUDIO 61
Coefficients:
(Intercept) x
31.683 5.377
[[2]]
Call:
FUN(formula = X[[2]])
Coefficients:
(Intercept) poly(x, 2)1 poly(x,2)2
4.9330 1.2181 -0.6037
sapply() este o variant a
exibil a a funct iei lapply(), care poate
avea ca argument un vector sau o matrice, si returneaz a rezultatul
^ ntr-o forma mai prietenoas a pentru utilizator, ^ n general un tabel.
2.3.2 Instruct iunea de decizie
Instruct iunea de decizie este if.Forma ei este la fel ca ^ n alte
limbaje:
if(conditie )instr 1else instr 2
unde:
condit ie este o expresie care d a o valoare logic a (TRUE, FALSE)
instr 1este o instruct iune sau un grup de instruct iuni si la fel
instr 2
else nu poate s a apar a singur pe o linie. Este de preferat s a e pus
dup a instruct iunea (sau grupul) instr 1.
Vom da ^ n continuare un exemplu:
a=5; b=3;
if((a==5)&(b!=a))
{s<-a+b^2
s<-s^2} else
62 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
{s=a-b^2; s<-s^2}
s
[1] 196
Exist a si o funct ie ifelse de forma:
if else (conditie; da; nu )
Dac a este adev arat a armat ia condit ie, atunci rezultatul lui ifelse
este da, altfel rezultatul este nu. ^In condit ie putem avea un vector care
se evalueaz a pe ecare component a la TRUE sau FALSE. Rezultatul
funct iei este un vector de aceea si lungime ca vectorul condit ie, cu
valori din vectorii dat i sau nu.
Dac a vectorii dat i au aceea si lungime ca si vectorul condit ie, atunci
sunt trunchiat i sau extin si prin repetare.
> a=c(1,-2,3,0,-4,-5,0,2)
> nu=c(-1,-2,-3,-4,-5,-6,-7,-8,-9,-10)
> ifelse(a>0,da,nu)
[1] 1 -2 3 -4 -5 -6 -7 2
2.3.3 Instruct iuni de repetit ie
Instruct iunile de repetit ie (ciclare) sunt ^ n R: for, while, repeat .
Aceste instruct iuni au formele:
for(var1in var 2)i nstr
unde var2 este o variabil a ce se poate converti la un sir de valori
(ca de exemplu vector sau list a), iar instr este o instruct iune sau un
grup de instruct iuni.
while (cond)instr
2.3. PROGRAMAREA ^IN RSTUDIO 63
unde cond este o expresie ce se evalueaz a la TRUE sau FALSE,
iarinstr este o instruct iune sau un grup de instruct iuni. Se va avea
desigur grij a ca variabila cond s a se modice ^ n grupul de instruct iuni
instr pentru a deveni la un moment FALSE si a se opri repetit ia.
repeat instr
este o variant a de repetit ie^ n care instr este un bloc de instruct iuni.
Pentru a se asigura c a se termin a la un moment aceste repetit ii trebuie
^ ntret inut a ^ n blocul instr o condit ie care se evalueaz a la TRUE sau
FALSE. Ie sirea din bloc se face la execut ia unei instruct iuni de forma:
if(conditie )break;
daca conditie este TRUE
^In blocurile de repetit ie se poate folosi comanda break ce deter-
min a ie sirea imediat a din ciclu sau comanda next care determin a
trecerea la urm atoarea repetit ie din ciclu. ^In cazul ciclurilor incluse
unul ^ n altul break sinext se utilizeaza doar pentru ciclul cel mai
interior.
Exemplul 2 Se d a o matrice a de dimensiune 3×4 si se cere s a se
calculeze vectorul s de dimensiune egal a 3 pentru care s[i] este suma
elementelor din linia i.
Rezolvare prin repetit ie cu for:
a=matrix(c(1:12),nrow=3)
s=rep(0,3)
for (i in 1:3){
for (j in 1:4) s[i]<-s[i]+a[i,j]}
> s
[1] 22 26 30
64 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Rezolvarea prin repetit ie cu while:
s=rep(0,3)
i=1
while(i<=3){
j=1
while (j<=4) {s[i]=s[i]+a[i,j];j=j+1}
i=i+1}
> s
[1] 22 26 30
Rezolvare prin repetit ie cu repeat
a=matrix(c(1:12),nrow=3)
s=rep(0,3)
i=1
repeat{
j=1
repeat {s[i]=s[i]+a[i,j];j=j+1; if(j==5) break}
i=i+1
if (i==4) break}
> s
[1] 22 26 30
^In toate aceste programe ciclul interior se poate ^ nlocui cu funct ia
sum. Prin aceasta se execut a mai repede programul pentru c a repetit ia
din funct ia sum este compilat a direct ^ n cod ma sin a.
Programul ar ar ata astfel (^ n varianta cu for).
a=matrix(c(1:12),nrow=3)
for (i in 1:3)s[i]=sum(a[i,])
> s
[1] 22 26 30
2.3. PROGRAMAREA ^IN RSTUDIO 65
Exemplul 3 Multe repetit ii pot realizate cu funct iile de mapare
apply, lapply, sapply, tapply, mapply. Programul precedent poate
scris de exemplu cu funct ia apply astfel:
a=matrix(c(1:12),nrow=3)
s=apply(a,MARGIN=1,sum)
> s
[1] 22 26 30
Exemplul 4 Fiind date matricele a, b, c de dimensiune 3×4 s a se
determine matricea d de dimensiune 3×4 pentru care d[i, j] este media
a vectorului format de a[i, j], b[i, j], c[i, j].
Repetit ia cu for ne d a dou a cicluri:
a=matrix(1:12,nrow=3);
b=matrix(seq(1,2,length=12),nrow=3)
c=matrix(11:22, nrow=3)
d=matrix(rep(0,12),nrow=3)
for (i in 1:3)
for (j in 1:4)
d[i,j]=mean(a[i,j],b[i,j],c[i,j])
> d
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
Exemplul 5 Repetit ia prin funct ia mapply se realizeaz a astfel:
a=matrix(1:12,nrow=3);
b=matrix(seq(1,2,length=12),nrow=3)
c=matrix(11:22, nrow=3)
66 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
d=mapply(mean,a,b,c)
d=matrix(d,nrow=3)
> d
[,1] [,2] [,3] [,4]
[1,] 1 4 7 10
[2,] 2 5 8 11
[3,] 3 6 9 12
2.3.4 Denirea funct iilor proprii
^In limbajul R denirea funct iilor se face sub forma:
^In limbajul R denirea funct iilor se face sub forma:
nume functie < function (argumente )finstructiuni de calcul g
iar apelul funct iei se face simplu nume functie(argumente). Re-
zultatul ^ ntors de funct ie trebuie s a apar a ultimul, f ar a atribuire. O
alt a posibilitate este instruct iunea return(val) .^In acest caz, execut ia
instruct iunilor din funct ie se ^ ncheie imediat si val este returnat a ca
valoare a funct iei.
Exemplul 6 S a denim funct ia:
f(x;y;z) =x2 +xzy
si apoi s a o aplic am argumentelor x=3, y=5, z=9.
f<-function(x,y,z){r<-x^2+x*y*z;r}
f(3,5,9)
[1] 144
Observat ie 10 Printre parametrii unei funct ii pot alte funct ii. De
asemenea ^ n corpul unei funct ii pot apeluri la ea ^ ns a si ceea ce duce
2.3. PROGRAMAREA ^IN RSTUDIO 67
la aplicarea recursiv a a funct iei. ^In acest caz e nevoie de condit ii
care s a asigure c a num arul de aplic ari recursive e nit. Ca exemplu
avem urm atorul script simplu ce calculeaz a recursiv termenii sirului
Fibonacci.
fib<-function(n){
if(n==1) return(c(1))
if(n==2)return(c(1,1))
s1=fib(n-1)
urm=s1[n-1]+s1[n-2]
return (c(s1,urm))}
> fib(10)
[1] 1 1 2 3 5 8 13 21 34 55
O funct ie poate modicat a ^ n fereastra de editare a scriptului sau
din linia de comand a cu:
> fix(function name)
O dat a ^ nc arcat scriptul, o funct ie care face parte din acest script
se poate executa din linia de comand a:
>fib (n)
sau din fereastra de editare astfel: se selecteaz a liniile dorite a
executate si Ctrl+Enter, iar scriptul ^ n ^ ntregime se execut a cu
Ctrl+Alt+R.
2.3.5 Calculul integralelor denite
De face cu ajutorul funct iei integrate()
Exemplul 7 Calculat i integrala:
∫pi=2
pi=2sin(x)dx
68 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> integrate(sin,-pi/2,pi/2)
0 with absolute error < 2.2e-14
> integrate(sin,-pi/2,pi/2)$value [1] 0
2.4 Apelul din R al funct iilor scrise ^ n C
Apar situat ii c^ and nu avem ^ n R rutine pentru anumite operat ii.
Solut ia este scrierea de rutine (funct ii) proprii. Utilizarea^ ntr-o m asur a
mare a instruct iunilor de decizie sau repetit ie ^ n R face ca timpul de
rulare s a creasc a mult datorit a faptului c a R este un limbaj inter-
pretat. O ie sire o reprezint a uneori utilizarea de rutine scrise ^ ntr-un
limbaj ^ n care se face compilarea la nivel de cod ma sin a, cum ar C,
Fortran, Pascal, etc. ^In R exist a mecanisme de apel a funct iilor scrise
^ n C ori Fortran precum si mecanisme de apel ^ ntr-un program extern
a unor rutine din R. Ne vom ocupa de metoda de apel ^ n R a unor
rutine scrise ^ n C.
Atunci c^ and se apeleaz a ^ ntr-un program funct ii scrise ^ n alt lim-
baj trebuie avute ^ n vedere corespondent a tipurilor de date, modul de
transfer al datelor spre rutina apelat a si modul de preluare a rezulta-
telor produse de rutina apelat a. ^In documentat ia standard pentru R
g asim urm atoarea corespondent a ^ ntre tipurile de date din R si C.
R storage mode C type
log ical int
integer int
double double
complex Rcomplex
character char
raw unsigned char
Pentru cei care doresc s a scrie pachete de programe pentru RStudio
utiliz^ and limbajul C, ^ n subdirectorul ≪include ≫din directorul,
unde este instalat RStudio se g asesc siere de denit ie pentru diverse
2.4. APELUL DIN R AL FUNCT IILOR SCRISE ^IN C 69
tipuri de date si diverse funct ii din libr arii larg utilizate. Pentru noi
corespondent a de tipuri din tabelul de mai sus este sucient a.
Datele ^ ntre RStudio si rutine externe se schimb a doar prin adrese.
Rutinele externe nu trebuie s a ^ ntoarc a vreo valoare (^ n C++ ele tre-
buie s a e funct ii de tip void ).
Rutinele externe (^ n C++ ) se pun ^ n biblioteci dinamice (.dll ^ n
windows, .so ^ n linux) care
1.se ^ ncarc a ^ n R cu comanda dyn.load(nume librarie, ….)
2.se deconecteaz a de la R prin dyn.unload(nume librarie ).
Observat ie 11 Dac a proiectul este realizat ^ n mediul de programare
Visual Studio 2017, pentru a genera sierul dll trebuie parcur si urm atorii
pa si:
1.Din Visual Studio ^ n Solution Explorer click dreapta pe proiect,
apoi Properties
2.Din tab-ul General se selecteaz a Conguration Type si se alege
Dynamic Library (dll) iar apoi se face Rebuild la proiect, iar ^ n
root/bin/Debug se va genera un sier de tipul dll.
Apelul funct iilor C se poate face cu comanda:
:C(name; :::; naok =FALSE; dup =TRUE; package; enconding )
unde name este numele funct iei.
Dac a naok este TRUE atunci valorile NA, NaN, Inf sunt transmise
funct iei C, altfel se genereaz a o eroare dac a apar, dup=TRUE deter-
min a o duplicare a datelor ^ nainte de a transmise subrutinei, package
specic a ^ n ce pachete s a se caute subrutina name. Este obligatorie
doar prezent a parametrului name ^ n apelul .C(name,. . . .)
70 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Observat ie 12 Mai simplu se poate introduce comanda .C(name. . . )
^ ntr-o funct ie R care face apelul mult mai comod si se pot prelua din
parametrii ^ ntor si doar pe cei care intereseaz a.
Exemplul 8 S a se scrie o funct ie C numit a"root" care plec^ and de la
o matrice p atratic a"A" s a produc a un vector care cont ine elementele
matricei ^ n ordinea din gura urm atoare, apoi s a se apeleze aceast a
funct ie din R.0
BB@1121110
21316 9
31415 8
45671
CCA
Ordinea de extragere a elementelor din matrice.
In cadrul acestui proiect au fost create automat dou a siere main.h
si main.dll de mai jos^ n care partea pe care am ad augat-o este evident iat a
(se recunoa ste rutina de extragere a elementelor din matricea a ^ n vec-
torul b ^ n ordinea specicat a, precum si declarat ia c a aceast a rutin a
s a apart in a libr ariei numit a aici pr1.dll. Solut ia acestei probleme este
preluat a integral din lucrarea [17, pp:75-77] :
Fi sierul main.h
#ifndef __MAIN_H__
#define __MAIN_H__
#include <windows.h>
/* To use this exported function of dll, include this
header
* in your project. */
#ifdef BUILD_DLL
#define DLL_EXPORT __declspec(dllexport)
#else
#define DLL_EXPORT __declspec(dllimport)
#endif
2.4. APELUL DIN R AL FUNCT IILOR SCRISE ^IN C 71
#ifdef __cplusplus
extern "C"
{
#endif
void DLL_EXPORT SomeFunction(const LPCSTR sometext);
void DLL_EXPORT rot(int *nlin, double *a,double *b);
#ifdef __cplusplus
}
#endif
#endif // __MAIN_H__
Fi sierul main.cpp
#include "main.h"
// a sample exported function
void DLL_EXPORT SomeFunction(const LPCSTR sometext)
{
MessageBoxA(0, sometext, "DLL Message", MB_OK |
MB_ICONINFORMATION);
}
void DLL_EXPORT rot(int *nlin, double *a,double *b){
int i,j,k,cnt=0;
int n=*nlin,mi=n/2;
for (k=0;k<mi;k++){
for(i=k;i<n-k-1;i++){b[cnt]=a[i+n*k];cnt++;}
for(j=k;j<n-k-1;j++) {b[cnt]=a[n-k-1+n*j];cnt++;}
for(i=n-k-1;i>k;i–){b[cnt]=a[i+n*(n-k-1)];cnt++;}
for(j=n-k-1;j>k;j–) {b[cnt]=a[k+n*j];cnt++;}
}
if(n%2==1) b[cnt]=a[mi+n*mi];
}
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason,
LPVOID lpvReserved)
72 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
{
switch (fdwReason)
{
case DLL_PROCESS_ATTACH:
// attach to process
// return FALSE to fail DLL load
break;
case DLL_PROCESS_DETACH:
// detach from process
break;
case DLL_THREAD_ATTACH:
// attach to thread
break;
case DLL_THREAD_DETACH:
// detach from thread
break;
}
return TRUE; // succesfull
}
Dup a compilare si linkeditare (s-a optat pentru mediul de pro-
gramare Visual Studio 2010) se obt ine biblioteca pr1.dll pe care am
mutat-o ^ n directorul curent din R.
Programul R ^ n care am utilizat funct ia root este urm atorul:
>dyn.load("pr1.dll")
>x=1:25
>a=matrix(x,ncol=5)
>b=rep(0,length(a))
>rez<-
.C("rot",as.integer(ncol(a)),as.double(a),as.double(b))
>dyn.unload("pr1.dll")
2.4. APELUL DIN R AL FUNCT IILOR SCRISE ^IN C 73
Rezultatele le vedem mai jos. Parametrii ^ ntor si sunt preluat i de
R sub forma unei liste ^ n ordinea ^ n care au fost declarat i.
Avem trei parametri ^ n rutina root, deci si rezultatul ^ ntors rezva
o list a cu trei intr ari. Ultima intrare (a treia rez[[3]]]) este vectorul
b pe care ^ l c aut am:
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
> rez[[3]]
[1] 1 2 3 4 5 10 15 20 25 24 23 22 21 16 11 6 7 8
9 14 19 18 17 12 13
Pentru apelul funct iei rot care se g ase ste^ n biblioteca pr1.dll putem
scrie o funct ie R care s a fac a acest apel mai u sor.
^In sierul urm ator se face acest lucru, din cei trei parametri ^ l lu am
ca parametru de ie sire din funct ia rot doar pe al treilea, b.
dyn.load("pr1.dll")
x=1:25
a=matrix(x,ncol=5)
b=rep(0,length(a))
rot<-function(a){
if(!is.matrix(a))stop("intrarea in root trebuie
sa fie matrice")
if(!is.numeric(a)) stop("matricea trebuie
sa fie numerica")
if(!(ncol(a)==nrow(a))) stop("matricea trebuie
sa fie patratica")
74 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
b=rep(0,length(a));
rez<-
.C("rot",as.integer(ncol(a)),as.double(a),as.double(b))
return(rez[[3]])}
>aa<-rot(a)
>dyn.unload("pr1.dll")
Rezultatul este:
> a
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
> aa
[1] 1 2 3 4 5 10 15 20 25 24 23 22 21 16 11 6 7 8
9 14 19 18 17 12 13
Exemplul 9 S a se realizeze un program care implementeaz a metoda
congruent ial a:
Xn+1= (aXn+c)(modM ) (2.1)
pentru generare numere aleatoare. Programul va genera 10.000 de
numere pe care le va a sa ^ ntr-un sier. Se va considera M = 2^31,
iar pentru a si c se vor da valori din program.
Cod program Visual Studio 2010
using System;
using System.Collections.Generic;
using System.ComponentModel;
2.4. APELUL DIN R AL FUNCT IILOR SCRISE ^IN C 75
using System.Data
using System.Drawing
using System.Linq
using System.Text
using System.Windows.Forms
using System.IO;
namespace Congruentiala
{
public partial class Form1 : Form
{
decimal M, a, c,val,val_urm;
StreamWriter writer =
=new StreamWriter("E:\\randomCongSub.txt");
StreamWriter writer2 =
=new StreamWriter("E:\\randomCongSupra.txt");
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
M = (decimal)Math.Pow(2, 31);
a = Convert.ToDecimal(textBox1.Text);
c = Convert.ToDecimal(textBox2.Text);
val = Convert.ToDecimal(textBox4.Text);
textBox3.Visible = false;
val = Convert.ToDecimal(textBox4.Text);
for (int i = 0; i < 10000; i++)
{
val_urm = (a * val + c) % M;
val = val_urm;
writer2.WriteLine(val);
76 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
val_urm /= (M – 1);
writer.WriteLine(val_urm);
textBox3.AppendText(val + "\n");
}
textBox3.Visible = true;
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
}
private void textBox4_TextChanged(object sender, EventArgs e)
{
}
}
}
Cod program RStudio
#include <Rcpp.h>
#include <stdio.h>
#include <math.h>
#include <fstream>
#include <iostream>
using namespace Rcpp;
// [[Rcpp::export]]
void congruentiala()
{
double M, a, c,val,val_urm;
M = (double)pow(2,31);
a=2;
c=4; val=0;
std::ofstream myfile;
myfile.open ("example.txt");
2.5. CREAREA DE FIS IERE C++ ^IN R 77
for (int i = 0; i < 10000; i++)
{
val_urm = fmod(a * val + c, M);
val = val_urm;
val_urm /= (M – 1);
myfile << std::fixed <<
std::setprecision(30) << val_urm << "\n";
printf("%f",val_urm);}
myfile.close();
}
/*** R
congruentiala()
*/
2.5 Crearea de siere C++ ^ n R
Se procedeaz a astfel [9]:
Pa si:
1.Din meniul File alegem opt iunea New File – >C ++ File, gura
(2.2):
Figura 2.2: Fisier C++
78 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
2.Dac a nu este instalat package-ul Rcpp, proced am astfel : din
meniul Tools- >Install Package Rcpp.
3.Scriem codul.
Observat ie 13 Se va desc arca acea versiune RTools care este compa-
tibil a cu versiunea de Windows de pe calculatorul, unde este instalat
RStudio si se va t ine cont de microprocesor pe 32/64 bit i.
Exemplul 10 S a se scrie un program C++ care sorteaz a un vector
folosind metoda bulelor.
Codul este:
#include <Rcpp.h>
#include <stdio.h>
using namespace Rcpp;
// [[Rcpp::export]]
void BubbleSort()
{
int v[] = { 61, 30, 21, 9, 22, 11, 31, 4, 18,
31, 86, 14, 32, 56 };
int n=14;
for(int i=0;i<n;i++)
{
printf("%d ",v[i]);
}
int i, j;
for (i = 0; i < n – 1; i++)
for (j = 0; j < n – i – 1; j++)
if (v[j] > v[j + 1])
{
int t = v[j];
2.6. DATA FRAME 79
v[j] = v[j+1];
v[j+1] = t;
}
printf("\n Vectorul sortat este: ");
for(int i=0;i<n;i++)
printf("%d ",v[i]);}
/*** R
BubbleSort()
*/
Lansarea ^ n execut ie se face astfel: d am click pe butonul source.
Se obt in rezultatele:
> Rcpp::sourceCpp('Bubblesort.cpp')
> BubbleSort()
61 30 21 9 22 11 31 4 18 31 86 14 32 56
Vectorul sortat este: 4 9 11 14 18 21 22
30 31 31 32 56 61 86
2.6 Data frame
Data frame este o colect ie de date organizate ^ ntr-un tablou drept-
unghiular ^ n care pe ecare coloan a sunt date de acela si tip. O varia-
bil a data frame se creeaz a prin alipirea unor vectori de aceea si dimen-
siune, ca ^ n exemplele de mai jos:
>c1=c("a","b","c") >c2=c(1,2,3)
>df1=data.frame(c1,c2) #creare data frame
>df1
Se obtine:
80 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
c1 c2
1 a 1
2 b 2
3 c 3
>grupa=c("111","112","113","221",
+"222","223","224","331")
>media=c(8.82 9.01 8.45 8.23 8.14
+8.01 7.76 9.08)
> catalog=data.frame(grupa,media); catalog
Se obt in rezultatele:
grupa media
1 111 8.8200000
2 112 9.0100000
3 113 8.4500000
4 221 8.2300000
5 222 8.1400000
6 223 8.0100000
7 224 7.7600000
8 331 9.0800000
Numele coloanelor coincide cu numele vectorilor, iar liniile au nu-
mele 1, 2, 3, … Putem schimba aceste nume ca ^ n secvent a de mai
jos:
> rownames(df1)=c("linia.1","linia.2","linia.3")
> colnames(df1)=c("unu","doi")
> df1
unu doi
linia.1 a 1
linia.2 b 2
linia.3 c 3
2.6. DATA FRAME 81
Numele liniilor, coloanelor ca si valorile din data.frame (sau din alt
obiect precum matricea sau vectorul) pot editate cu ajutorul unui
editor propriu R care se apeleaz a prin comenzile x sau edit, ca mai
jos:
> fix(df1)
> df1
unu doi
lin.1 a 1
lin.2 b 2
lin.3 c 3
Figura (2.3):
82 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Figura 2.3: Data frame
Se pot crea matrice sau data frames cu ajutorul editorului^ ncorporat
prin instruct iunile
> df2=edit(data.frame())
> m5=edit(matrix())
2.6. DATA FRAME 83
Valorile pentru df2 si m5 vor cele completate ^ n editor. Numele
coloanelor unei date de tip data frame se obt ine prin comanda
>names(data.frame),
iar coloana cu un nume dat se poate accesa prin
>data$nume
ca ^ n exemplele urm atoare :
> df2
unu doi
lin.1 a 1
lin.2 b 2
lin.3 c 3
> names(df1) #numele coloanelor
[1] "unu" "doi"
> df2$unu #coloana cu numele "unu"
[1] a b c
Levels: a b c
> df2$unu[3] #elem. al 3-lea de pe coloana "unu"
[1] c
Levels: a b c
sau
> names(catalog) #numele coloanelor
[1] "clasa" "media"
> catalog[1] #prima coloana
clasa
1 9A
2 9B
3 9C
84 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
4 9D
5 9E
6 9F
7 9G
8 9H
> catalog[1,1] #elem.din prim coloana, prima linie
[1] 9A
Levels: 9A 9B 9C 9D 9E 9F 9G 9H
O variabil a de tip data.frame este de fapt un tabel. Poate g^ andit a
ca o matrice care are un cap de tabel ^ n care si liniile si coloanele au
denumiri. Liniile sunt considerate nivele, iar coloanele sunt vectori de
acela si tip care poarta un nume. Datele data frame pot introduse
^ n R si din siere text exterioare prin comanda read.table . Datele ^ n
sier trebuie s a umple o zon a dreptunghiular a.
Fi sierul text cu date poate copiat ^ n clipboard, poate pe un
suport de memorie, ^ ntr-o locat ie de internet. Din mult imea de para-
metri ai instruct iunii read.table este important de ret inut: numele
sierului, sep=semnul separator ^ ntre date, header care poate TRUE
dac a primul r^ and este citit ca nume ale variabilelor, altfel FALSE, dec
ce indic a semnul separator pentru zecimale (implicit).
Liniile vide ca si cele care ^ ncep cu semnul # sunt ignorate. Datele
citite sunt interpretate ca data frame. O comand a asem an atoare este
read.csv .^In acest caz sierul trebuie s a e un sier text cu datele
separate prin virgul a. De exemplu, s a presupunem c a s-au creat ni ste
date ^ n Excel se selecteaz a si se copiaz a ^ n clipboard.
Datele se citesc ^ n R astfel:
> t=read.table("clipboard")
> t
Statistica Algebra Fiabilitate
Ion 8 7 7
Daniel 6 5 8
2.6. DATA FRAME 85
Rodica 8 9 7
Pentru a vedea ce tip de dat a este t apel am funct ia class:
> class(t)
[1] "data.frame"
Dac a am selectat doar matricea de date numerice s-ar citit ^ n
R tot ca data frame . O metod a alternativ a este s a salv am documen-
tul Excel ca sier text sau sier csv" si s a-l citim cu read.table sau
read.csv.
> t2=read.table(file.choose())
> t2
Statistica Algebra Fiabilitate
Ion 8 7 7
Daniel 6 5 8
Rodica 8 9 7
> t3=read.csv(file.choose())
> t3
X Statistica Algebra Fiabilitate
Ion 8 7 7
Daniel 6 5 8
Rodica 8 9 7
Funct ia le.choose deschide o fereastr a de dialog pentru
alegerea sierului. Dac a se pune numele sierului, atunci
sierul trebuie s a e ^ n directorul curent sau s a e indicat cu
cale cu tot.
^In rezumat avem :
86 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
>t=read.table(''clipboard'') #ptr citirea din clipboard
>t=read.table(file.choose()) #citire din fisier text
>t=read.table(''numele.fisierului'')
+ #citire dintr-un fisier aflat in directorul curent
>t=read.table(''http://adresa.web/fisier.txt'')
+ #citire fisier de pe internet.
Pentru a scrie un obiect data frame^ ntr-un sier se folose ste write.table
sau write.csv care au cam aceea si parametri ca read.table. De exemplu
prin instruct iunea:
> write.table(t, file="t.txt"),
se salveaz a obiectul data frame t ^ n sierul "t.txt" din directorul
curent de unde poate citit eventual alt a dat a cu read.table . Pen-
tru scrierea vectorilor sau matricelor ^ n siere text se poate utiliza
instruct iunea write. Citirea matricelor din aceste siere se face cu
instruct iunea scan. Sintaxa instruct iunii write este:
>write(matricea, file = "fisierul", ncolumns=nr.coloane,
+ append = FALSE, sep = ",")
>scan(file = "", what = numeric), nmax = -1, n = -1,
+ sep = "",dec = ".",skip = 0, nlines = 0)
File este numele sierului, what reprezint a tipul de date care se
citesc (logical, integer, numeric, complex, character, raw, list), nmax
reprezint a num arul maxim de date ce se citesc (dac a lipse ste sau nu
e pozitiv atunci se cite ste p^ an a la sf^ ar situl si sierului), n are aceea si
semnicat ie doar c a se ignor a valorile invalide, sep este separatorul de
date (dac a lipse ste se presupune c a datele sunt separate prin spat ii),
dec este separatorul pentru zecimale ^ n numerele reale (implicit), skip
reprezint a num arul de linii de la ^ nceput care sunt ignorate, nlines este
num arul maxim de linii care se citesc.
Aceste baze de date sunt de fapt data frame-uri. Pentru a vizualiza
toate bazele de date disponibile, se poate folosi funct ia data:
2.6. DATA FRAME 87
> data()
si se va deschide o fereastr a ^ n care sunt enumerate toate bazele
de date disponibile. Pentru a a
a informat ii suplimentare despre o
anume baz a de date, se poate apela help-ul sistemului R:
> ?cars
Se va deschide o fereastra web ^ n care se specic a faptul c a baza
de date cont ine 50 de observat ii luate din anul 1920, iar viteza este
numeric a si m asurat a ^ n mph, iar distant a este de asemenea numeric a,
m asurat a in ft. Pentru a accesa una dintre aceste baze de date, se
poate scrie data(numele bazei de date). De exemplu, pentru a accesa
baza de date cars care cont ine vitezele si distant ele de oprire ale unor
ma sini putem proceda astfel:
> data(cars)
> cars[1:5,] #primele 5 randuri ale bazei de date speed dist
#coloanele bazei de date
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
Dac a se dore ste manipularea pe caracteristici, atunci se poate folosi
vectorul cars[,1] ce ne d a toate vitezele m asurate sau vectorul cars[,2]
ce ne d a toate distant ele disponibile. O alt a modalitate de a lucra cu
o baz a de date este de a folosi funct ia attach:
> attach(cars)
> names(cars) #numele coloanelor bazei de date
[1] "speed" "dist"
88 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> mean(speed) #media datelor din prima coloanei
[1] 15.4
> mean(cars[,1]) #o varianta echivalenta
[1] 15.4
> mean(cars$speed) #a doua varianta echivalenta
[1] 15.4
Pentru a scrie un obiect data frame^ ntr-un sier se folosesc instruct iunea
write.table sauwrite.csv care au cam aceea si parametri ca read.table .
De exemplu prin instruct iunea:
> write.table(t, file="t.txt")
se salveaz a obiectul data frame t ^ n sierul "t.txt" din directorul
curent de unde poate citit eventual alt a dat a cu read.table . Pen-
tru scrierea vectorilor sau matricelor ^ n siere text se poate utiliza
instruct iunea write . Citirea matricelor din aceste siere se face cu
instruct iunea scan . Sintaxa instruct iunii write este:
>write(matricea, file = "fisierul", ncolumns=nr.coloane,
append = FALSE, sep = ",")
din care doar matricea (vectorul) si sierul sunt obligatorii. Dac a
le="" atunci se scrie la consol a.
Dac a apend=TRUE atunci se adaug a datele la sf^ ar situl sierului
altfel se sterge sierul si se recreaz a cu datele noi. Separatorul poate
si alt caracter, de exemplu spat iu sau tab. Scrierea se face pe linii.
Pentru a scrie coloanele la^ nceput, trebuie transpus a matricea. Citirea
unei matrice dintr-un sier text cu instruct iunea
>scan
are forma
2.6. DATA FRAME 89
>scan(file = "", what = numeric), nmax = -1, n = -1,
sep = "",dec = ".",skip = 0, nlines = 0)
File este numele sierului, what reprezint a tipul de date care se
citesc (logical, integer, numeric, complex, character, raw, list), nmax
reprezint a num arul maxim de date ce se citesc (dac a lipse ste sau nu
e pozitiv atunci se cite ste p^ an a la sf^ ar situl sierului), n are aceea si
semnicat ie doar c a se ignor a valorile invalide, sep este separatorul de
date (dac a lipse ste se presupune c a datele sunt separate prin spat ii),
dec este separatorul pentru zecimale ^ n numerele reale (implicit), skip
reprezint a num arul de linii de la ^ nceput care sunt ignorate, nlines este
num arul maxim de linii care se citesc.
R include si un num ar de baze de date care se pot folosi ^ n diverse
aplicat ii. Aceste baze de date sunt de fapt data frame-uri.
Pentru a vizualiza toate bazele de date disponibile, se poate folosi
funct ia data:
> data()
si se va deschide o fereastr a ^ n care sunt enumerate toate bazele de
date disponibile.
Pentru a a
a informat ii suplimentare despre o anume baz a de date,
se poate apela help-ul sistemului R:
> ?cars
Se va deschide o fereastra web ^ n care se specic a faptul c a baza
de date cont ine 50 de observat ii luate din anul 1920, iar viteza este
numeric a si m asurat a ^ n mph, iar distant a este de asemenea numeric a,
m asurat a in ft.
Pentru a accesa una dintre aceste baze de date, se poate scrie
data (numele bazei de date). De exemplu, pentru a accesa baza de
datecars care cont ine vitezele si distant ele de oprire ale unor ma sini
putem proceda astfel:
90 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
> data(cars)
> cars[1:5,] #primele 5 rinduri ale bazei de date
speed dist #coloanele bazei de date
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
Dac a se dore ste manipularea pe caracteristici, atunci se poate folosi
vectorul cars[,1] ce ne d a toate vitezele m asurate sau vectorul cars[,2]
ce ne d a toate distant ele disponibile.
O alt a modalitate de a lucra cu o baz a de date este de a folosi
funct ia attach:
> attach(cars)
> names(cars) #numele coloanelor bazei de date
[1] "speed" "dist"
> mean(speed) #media datelor din prima coloanei
[1] 15.4
> mean(cars[,1]) #o varianta echivalenta
[1] 15.4
> mean(cars$speed) #a doua varianta echivalenta
[1] 15.4
2.7 Generarea numerelor aleatoare ^ n R
Generarea de numere aleatoare este un pas esent ial ^ n algoritmii
probabili sti. De fapt aceste numere aleatoare vor valori numerice ale
unor variabile aleatoare. Metodele de generare a numerelor aleatoare
se ^ mpart ^ n trei categorii:
2.7. GENERAREA NUMERELOR ALEATOARE ^IN R 91
– tabele cu numere aleatoare obt inute prin aruncarea unei monede,
a unui zar, la rulet a, etc.;
– procedee zice, care au la baz a fenomene zice, cum ar emisia
particulelor de c atre o surs a radioactiv a, zgomotul electronic, etc.;
– procedee aritmetice (analitice), care utilizeaz a fomule de calcul
de tipul:
xn+1=f(xn; xn 1; :::x n m); nm0
Dezavantajul ultimului procedeu este acela c a nu posed a un carac-
ter strict aleator, dearece exist a o funct ie (determinist a) care permite
calcularea lor.
Din acest motiv numerele generate prin procedee analitice se nu-
mesc numere pseudoaleatoare . Se pune problema de a alege proce-
deele analitice astfel ^ nc^ at sirurile de numere pseudoaleatoare produse
s a e c^ at mai apropiate de numerele aleatoare veritabile.
Denit ie 19 Spunem c a variabila aleatoare discret a Xurmeaz a legea
uniform a discret a dac a distribut ia ei este
X:(k
1
M)
k=0;:::M 1
Generarea de numere aleatoare care urmez a o anumit a lege (^ n
particular si legea uniform a discret a) este practic imposibil de realizat
prin procedee analitice.
Dac a generarea se face pe calculator, ar de preferat ca valoarea
luiMs a e mai mic a dec^ at valoarea maxim a ce poate reprezentat a
pe un cuv^ ant al calculatorului. Mai mult, un astfel de sir de numere
aleatoare este periodic .
Vom considera c a dac a sunt generate numerele aleatoare (x k) ^ ntregi
si uniforme din [0 ; M), atunci numerele (u k) denite prin u k= x k/M,
sunt uniform repartizate pe[0 ;1).
92 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Observat ie 14 Exist a metode analitice de generare a numerelor alea-
toare uniforme, dintre care amintim metodele congruent iale ( aditiv
congruent ial a si multiplicativ congruent ial a).
Mediul de programare RStudio pune la dispozit ia utilizatorilor
macroinstruct iunea RNG.
Random.seed <- c(rng.kind, n1, n2, \dots)
RNGkind(kind = NULL, normal.kind = NULL)
RNGversion(vstr)
set.seed(seed, kind = NULL, normal.kind = NULL)
Vom da un exemplu furnizat de helpul din R
## Marsaglia's congruential PRNG
#include <R_ext/Random.h>
static Int32 seed;
static double res;
static int nseed = 1;
double * user_unif_rand()
{
seed = 69069 * seed + 1;
res = seed * 2.32830643653869e-10;
return &res;
}
void user_unif_init(Int32 seed_in) { seed = seed_in; }
int * user_unif_nseed() { return &nseed; }
int * user_unif_seedloc() { return (int *) &seed; }
/* ratio-of-uniforms for normal */
#include <math.h>
static double x;
double * user_norm_rand()
{
2.7. GENERAREA NUMERELOR ALEATOARE ^IN R 93
double u, v, z;
do {
u = unif_rand();
v = 0.857764 * (2. * unif_rand() – 1);
x = v/u; z = 0.25 * x * x;
if (z < 1. – u) break;
if (z > 0.259/u + 0.35) continue;
} while (z > -log(u));
return &x;
}
94 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
2.8 Funct ii grace ^ n R
2.8.1 Gestionarea gracelor
^InRStudio se pot executa grace de calitate pentru datele admise.
Aceste grace sunt trimise pe ecran sau ^ n siere de diverse tipuri,
pentru a realiza acest lucru trebuie deschis un \device". Comanda
windows() deschide ecranul ca dispozitiv grac, comanda jpeg() des-
chide ca dispozitiv grac un sier ^ n care se va scrie informat ia grac a
^ n format jpeg, postscript() deschide un sier de tip postscript, pdf(),
png(), tiff(), bitmap(), win.metale(), etc. Aceste comenzi au ca pa-
rametru le numele sierului unde se salveaz a gracul, width=l at imea
^ n pixeli, height=^ n alt imea ^ n pixeli. Numai un dispozitiv este activ la
un moment, trecerea de la unul la altul se face dev.next(), dev.prev(),
dev.set(which=k. Listarea dispozitivelor grace se face cu comanda
dev.list(), ^ nchiderea unui dispozitiv cu dev.off(k), iar ^ nchiderea tu-
turor cu graphics.off. C^ and s-a ^ nchis un dispozitiv diferit de ecran,
imaginea din el este salvat a ^ n sierul specicat ^ n parametrul le.
Dup a comanda graphics.off() trebuie deschis un nou dispozitiv pen-
tru a putea tip ari grac, de regul a windows() pentru ecran. Un clic
dreapta pe fereastra cu reprezentarea grac a de pe ecran deschide un
meniu cu opt iuni de salvare sau copiere a cont inutului ^ n clipboard.
Rutinele grace sunt cuprinse ^ n modulul de baz a: \base" precum si
^ n dou a pachete suplimentare \grid" si \lattice". Rutinele de baz a
se ^ mpart ^ n dou a categorii: rutine de nivel ^ nalt \high level" ^ n
urma c arora se creaz a o fereastr a grac a nou a ^ n care se pun gracele
specicate prin argumentele rutinelor; rutine de nivel jos \low le-
vel" prin care la gracul existent se adaug a informat ii suplimentare
ca text, puncte, linii; grace interactive prin care utilizatorul poate
interact iona cu gracul prin intermediul mouseului pentru a obt ine
informat ii despre valorile din diverse pozit ii de pe grac sau pen-
tru a ad auga informat ii ^ n diverse pozit ii de pe grac. Rutinele de
2.8. FUNCT II GRAFICE ^IN R 95
nivel ^ nalt din modulul de baz a sunt prezentate ^ n tabelul urm ator:
Instructini: Explicatii
plotplot(x; y; ::: ); plot (xy; ::: )
tipareste punctele de coordonate (x[i]; y[i])
plot(f; x); unde f este un factor pentru x; in plus
tipareste un boxplot pentru x grupat dup afactor ul f:
plot(x y)face graficele coloanelor y<i>in functie de x
plot(x); pentru o variabila care are metoda plot
produce un grafic specific acelei variabile
pairspairs (x);
unde x este o matrice face toate graficele (x<i>; x<j>)
unde x<i>; x<j>sunt coloaneale lui x
coplotcoplot (x y; f )executa graficele lui y
depinzind de x; pentru fiecare nivel al factor ului f
histhist(x; :::)tipareste histograma
frecventelor valorilor din vectorul x:
Optiunea nclass =n pentru a specifica
in cate clase se impart datele din x:
Cu optiunea probability =TRUE
histograma va reprezenta
probabilitatile nu frecventele:
qqnorm;
qqplot;
qqlineqqnorm (x)reprezinta cuatilele lui x
fata de cele ale distributiei normale
qqplot (x; y)reprezinta cuatilelelui x fata de y
qqline (x)reprezinta graficul precum si linia ce
aproximeaza graficul
imageimage (x; y; z; ::: )
reprezinta matricea z prin culori; x [i]; y[i]
reprezinta coordonatele centrului dreptunghiului
unde se reprezinta prin culoare z (i; j):
Alte optiuni barplo t,contour, persp, sunt asemanatoare cu cele din
96 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
MATLAB . Prin tip arirea cu rutine de nivel jos se adaug a elemente noi
la gracul existent. Se pot a
a prin comanda help . Pentru diver si
parametri graci R ment ine o list a numit a par cu valorile acestora.
Cu comanda par() putem a
a valorile acestor parametri. Unii para-
metri sunt admi si ca date opt ionale de unele rutine grace. La ape-
lul rutinei respective, parametrul considerat se introduce sub forma
rutina(…,parametru=valoare,…). Dup a execut ia comenzii grace va-
loarea parametrului revine la cea dinainte de instruct iunea grac a.
Dac a vrem ca modicarea s a e permanent a (p^ an a la o nou a modi-
care) atunci vom utiliza comada par(parametru=valoare,…). Unii
parametrii pot modicat i doar prin instruct iunea par. Ace stia sunt:
"ask","g", "n", "lheight", "mai", "mar", "mex", "mfcol", "mfrow",
"mfg", "new","oma", "omd", "omi", "pin", "plt", "ps", "pty", "usr",
"xlog", "ylog", "ylbias". ^Inainte de a da exemple de instruct iuni gra-
ce, c^ ateva cuvinte despre culori. Culorile implicite pe care le uti-
lizeaz a R la un moment dat pentru reprezent ari grace sunt stocate
^ ntr-o palet a, un vector de tip caracter cu numele culorilor.
Le putem vedea cu comanda palette() . Pentru culorile care nu au
nume se utilizeaz a descrierea lor hexazecimal a.
Putem crea palete de culori prin :
1.palette(rainbow(n)) ,
2.palette(heat.colors(n)) ,
3.palette(terrain.colors(n) ),
4.palette(topo.colors(n)) ,
5.palette(cm.colors(n)), unde neste num arul culorilor pe care
le vrem ^ n palet a.
O alt a modalitate de a obt ine palete este prin interpolarea culorilor
cu funct ia colorRampPalette.
2.8. FUNCT II GRAFICE ^IN R 97
Un clic dreapta pe grac face s a apar a un meniu contextual, unde
apar opt iunile de salvare a gracului ^ n format metale sau postscript
sau de copiere^ n clipboard^ n format metale sau bitmap (^ n windows).
De aici este u sor s a-l includem ^ ntr-un document.
Exemplul 11 Folosind un script Grace.r s a se reprezinte pe acela si
grac trei funct ii densitate de probabilitate Normal a, Rayleight, Wei-
bull:
x=seq(-5,5,length=50)
#deschidem un device
y1=(1/sqrt(2*pi))*exp(-x^2/2);
y2=(x/4)*exp(-x^2/8);
y3=2*exp(-2*x)
plot(x,y1,type="b",pch="+",xlab="",ylab="", lwd=3)
lines(x,y2, type="o",pch=10,col="red",lty="dotted",lwd=3)
lines(x,y3,type="l",lty="dashed",col="blue",lwd=3)
title(main="Graficele a trei functii densitate",
xlab="axa X",ylab="axa Y", cex.main=2,
cex.lab=1.5, cex.sub=2)
grid(5,5,col="cyan")
legend("topleft", legend=c("normala m=0,std=1",
"Rayleigh b=2",
"Weibull a=2,b=1"),
col=c("black","red","blue"),
lty=c("solid","dotted","dashed"),
bg="yellow1")
Dac a ^ l lans am cu comanda:
>source("Grafice.r")
obt inem gura (2.4)
98 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Figura 2.4: Trei grace densitate de probabilitate
2.8. FUNCT II GRAFICE ^IN R 99
a) Este bine c^ and se reprezint a mai multe funct ii pe acela si grac,
la apelul rutinei plot s a se specice
xlim=range (x1; x2; x3:::)
ylim=range (y1; y2; y3; ::)
unde x1; x2; x3; ::sunt vectorii cu abscisele coordonatelor punctelor de
pe grac iar y1; y2; y3; :. cont in ordonatele punctelor. Acest lucru ne
asigur a c a toate gracele vor complet reprezentate. Dac a la repre-
zent arile din gura de mai sus mai ad aug am un grac ce are puncte
^ n afara zonei delimitate (^ n cazul nostru[ 3;3][ 1;1]) acestea nu
vor apare.
b) Primul grac se execut a cu plot iar celelalte cu lines, points sau
alte comenzi de nivel inferior pentru a se ad auga elementele la ceea ce
este deja reprezentat.
c) Titlurile se pot ad auga ^ ntr-o instruct iune plot, sau prin co-
manda title. Atent ie la faptul c a ad augarea ulterioar a a unui
titlu nu-l schimb a ci se suprapune celui existent .
d) Pozit ionarea legendei se poate face prin cuvintele \topleft", \to-
pright", \top", bottomleft", \bottomright", \bottom", \lft", \right",
sau prin coordonatele x, y.ale colt ului st^ anga sus, coordonate ce pot
alese interactiv prin locator() .
Observat ie 15 Este bine s a e lansat un script pas cu pas utiliz^ and
opt iunea Run, deoarece eventualele erori vor trimise la consol a si
astfel se pot corecta.
Pentru adnot ari matematice pe grace se pot obt ine informat ii
din help prin comanda help(plotmath) . Expresiile matematice se
alc atuiesc cu comanda expression(…) ^ n care se introduce sub forma
unei expresii apropiate de cea latex formula matematic a dorit a. Pen-
tru a lipi ^ ntre ele mai multe siruri se utilizeaz a comanda paste(sir1,
100 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
sir2,…).din help prin comanda help(plotmath). Expresiile matema-
tice se alc atuiesc cu comanda expression(…) ^ n care se introduce sub
forma unei expresii apropiate de cea latex formula matematic a dorit a.
Pentru a lipi ^ ntre ele mai multe siruri se utilizeaz a
comanda paste(sir1, sir2,…).
Utilizarea comenzii text(locator(), ex) pentru a pune expresia
pe grac se justic a prin aceea c a locator() a steapt a un clic st^ anga
pe o pozit ie din grac pentru a se stabili unde va pus textul. Dup a
aceea se face un clic dreapta si din meniul derulant se alege opt iunea
stop.
Exemplul 12 [19, pag 320] S a se reprezinte histograma valorilor
generate aleator dup a o distribut ie normal a si s a se compare cu gracul
distribut iei.
Scriem scriptul Adnotari2.r
nr=8;media=2; devs=4;
y=rnorm( nr,mean=2, sd=4)
hist(y, probability=TRUE, col="lightgray",
main="Histograma valorilor y=rnorm(200,mean=2,sd=4)",
xlab="Valorile lui y",
ylab="Densitatea valorilor lui y",cex.axis=1.5,
cex.lab=1.5 )
x1=seq(-6,10,length=100)
y1=dnorm(x1,mean=2, sd=4)
lines(x1,y1, lwd=3)
ex=expression(paste(rho, "(", x, ")=",frac(1,
4*sqrt(2*pi)), " ",
plain(e)^{frac(-(x-2)^2, 2%*%4^2)}))
text(locator(),ex, cex=1.5)
si-l lans am ^ n execut ie din linia de comand a astfel:
2.8. FUNCT II GRAFICE ^IN R 101
Figura 2.5: Grace cu adnot ari
>source("Adnotari2.r)
Obt inem gura (2.5).
102 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Exemplul 13 [19, pag 430] S a se utilizeze qqnorm pentru a detecta,
dac a o select ie este normal a (gracul ar trebui s a e o dreapt a) si qq-
plot pentru a detecta, dac a dou a select ii empirice au acee si distribut ie
(gracul ar trebui s a e prima bisectoare).
Tast am ^ n linia de comanda sau putem crea un script.
> x1=runif(1000);x2=rnorm(1000, mean=1, sd=1)
> par(mfrow=c(1,2));
> qqnorm(x2, main="Q-Q norm pentru o selectie normala",
+ xlab="Cuantilele teoretice",
+ ylab="x2=rnorm(100, mean=1, sd=1)", pch="+");
> qqplot(x1,x2, main="Q-Q plot pentru doua selectii",
+ pch="+",
+ xlab="x1=runif(100)", ylab="x2=rnorm(100, mean=1, sd=1)");
> par(mfrow=c(1,1))
Se obt in gracele din gura (2.6):
Figura 2.6: QQ norm
2.8. FUNCT II GRAFICE ^IN R 103
2.8.2 Pachetele grid si lattice
Pachetele grid si lattice implementeaz a sistemele de tip gril a si
lattice. Grila este un nou mod grac cu sistem propriu de parametri
graci care sunt distinct i fat a de cei prezentat i ^ n paragraful anterior.
Lattice este ^ n fond implementarea ^ n cadrul RStudio a gracelor
Trellis din SPLUS. Trellis este un mod de vizualizare a datelor mul-
tidimensionale ^ n mod special corespunzator explor arii relat iilor sau
interact iunilor dintre variabile. Principala ideea din spatele lattice
este aceea a gracelor de condit ion ari multiple: un grac bidimensio-
nal va ^ mp art it ^ n c^ ateva grace t in^ and cont de valorile unei a treia
variabile.
Pachetul se ^ ncarc a ^ n memorie prin comanda
> library(lattice)
Principalele dou a diferent e dintre gril a si gracele de baz a sunt:
1.un mod mai
exibil de a ^ mpart i instrumentele grace utiliz^ and
viewports care poate superior (obiectele grace pot chiar
^ mp art ite^ ntre zone distincte predenite ale unui spat iu de a sare,
de ex., s aget i);
2.obiectele grace (grob) pot modicate sau sterse dintr-un grac
f ar a a necesar a re-desenarea ^ ntregului grac (a sa cum se cere
^ n cazul gracelor de baz a).
Gracele de tip gril a nu pot de obicei unite sau combinate cu gra-
cele de baz a ( Pachetul gridBase trebuie utilizat pentru aceasta).
Dar este posibil a utilizarea ambelor moduri grace ^ n aceea si sesiune
^ n cadrul aceluia si instrument grac.
Funct ia coplot utilizeaz a o modalitate similar a, ^ ns a latice ofer a
functionalit at i mai vaste, latice utilizeaz a modul grac de tip gril a.
104 CAPITOLUL 2. MEDIUL DE PROGRAMARE RSTUDIO
Cele mai multe funct ii din lattice consider a o formula ca principalul
lor argument de exemplu y ~x. Formula y ~x jz presupune c a gracul
lui y raportat la x s a e reprezentat ^ n c^ ateva grace t in^ and cont
de valorile lui z. Cei interesat i ^ n aprofundarea acestei modalit at i de
reprezentare grac a recomand am lucrarea [20, pag : 51-57].
Capitolul 3
Legi de repartit ie a priori
3.1 Repartit ia beta
Se utilizeaz a ^ n estimarea bayesian a neparametric a atunci c^ and se
ignor a caracterul distribut iei timpului de funct ionare, deci asociat a
funct iei de abilitate R
fam+n() =1
(m)(n)Rm 1(1 R)n 1
Dac a not am n=r0; m=n0 r0; m+n=n0;obt inem:
fa(R) =1
(r0)(n0 r0)Rn0 r0 1(1 R)r0 1; n0; r0>0;n0> r 0
Media a priori a repartit iei beta este:
Ma[Rg=r0
n0
unde n0: num arul de pseudo-^ ncerc ari, r 0:num arul de pseudo defec-
tari.
105
106 CAPITOLUL 3. LEGI DE REPARTIT IE A PRIORI
Dispersia repartit iei beta este:
Da[R] =r0(n0 r0)
n2
0(n0+ 1)
Incertitudinea relativ a asociat a funct iei de abilitate poate m asurat a
prin
a[R]
Ma[R]=√r0
(n0 r0)(n0+ 1)
Vom urm ari modul ^ n care se modic a repartit ia a priori de tip beta la
combinarea cu datele experimentale. Deci forma ^ n U nu este potrivit a
pentru modelarea lui R. Rezult a c a sunt de evitat valorile mai mici
de 1 ale lui n 0 si r 0(n0; r0>1):Funct ia de verosimilitate este de tip
binomial:
f(x = R ) =(n
r)
(1 R)rRn r
unde nreprezint a volumul e santionului, iar rnum arul de defect ari
^ nregistrate ^ n timpul ^ ncerc arii. Folosind relat ia:
(p; q) = (p) (q)
(p+q)
Rezult a conform ecuat iei lui Bayes:
fp(R) = (n0+n)
(r0+r) (n0+n r0 r)Rn0+n r0 r 1(1 R)r0+r 1
Rezult a
Mp[R] =bR= 1 r0+r
n0+n
Observat ie 16 Se observ a c a repartit ia beta are un caracter conser-
vativ la transformarea de tip Bayes de aceea se nume ste repartit ie a
priori conjugat a fat a de repartit ia binomial a.
3.1. REPARTIT IA BETA 107
Pentru cazul particular n0= 2; r0= 1;rezult a c a repartit ia este
uniform a ^ n intervalul [0,1] si exprim a matematic faptul c a nu exist a
informat ie apriori asupra funct iei de abilitate [30, pag 42].
Observat ie 17 Dac a se cunoa ste ^ ns a scara valorilor funct iei de a-
bilitate este rezonabil s a se adopte o repartit ie uniform a limitat a la un
anumit interval [a,b] [0;1]:
fa(R) ={1
b a;R2[a; b]
0 ^{n rest
RStudio pune la dispozit ia programatorilor urm atoarele macroinstruct iuni:
dbeta(x,shape1,shape2,ncp = 0,log = FALSE)
pbeta(q,shape1,shape2,ncp = 0,
lower.tail = TRUE,log.p = FALSE)
qbeta(p,shape1,shape2,ncp = 0,
lower.tail = TRUE,log.p = FALSE)
rbeta(n,shape1,shape2,ncp = 0)
unde x,q sunt vectori cuantile
p=vector probabilitati
n=numar de observatii
shape1,shape2= parametrii pozitivi ai distributiei beta m,n
log,log.p= daca TRUE,probabilitatea p este data sub forma log(p).
Exemplul 14 D am un urm atorul exemplu:
x <- seq(0, 1, length = 21)
dbeta(x, 1, 1)
pbeta(x, 1, 1)
## Visualization, including limit cases:
pl.beta <- function(a,b, asp = if(isLim) 1,
108 CAPITOLUL 3. LEGI DE REPARTIT IE A PRIORI
ylim = if(isLim) c(0,1.1)) {
if(isLim <- a == 0 || b == 0 || a == Inf ||
+ b == Inf)
{eps <- 1e-10
x <- c(0, eps, (1:7)/16, 1/2+c(-eps,0,eps),
+ (9:15)/16, 1-eps, 1)
}
else {
x <- seq(0, 1, length = 1025)
}
fx <- cbind(dbeta(x, a,b),pbeta(x, a,b),qbeta(x, a,b))
f <- fx; f[fx == Inf] <- 1e100
matplot(x, f, ylab="", type="l",ylim=ylim, asp=asp,
main = sprintf("[dpq]beta(x, a=%g, b=%g)",a,b))
abline(0,1, col="gray", lty=3)
abline(h = 0:1, col="gray", lty=3)
legend("top", paste0(c("d","p","q"),"beta(x, a,b)"),
col=1:3, lty=1:3, bty = "n")
invisible(cbind(x, fx))
}
pl.beta(3,1)
pl.beta(2, 4)
pl.beta(3, 7)
pl.beta(3, 7, asp=1)
pl.beta(0, 0) ## point masses at {0, 1}
Se obt ine gracul din gura (3.1):
3.1. REPARTIT IA BETA 109
Figura 3.1: Repartit ia Beta
110 CAPITOLUL 3. LEGI DE REPARTIT IE A PRIORI
3.2 Repartit ia gamma
Este utilizat a pentru estim ari parametrice c^ and se consider a c a
distribut ia timpului de funct ionare este exponent ial a sau exponent ial a
pe port iuni.
fa() =() 1
()e
Ma[] =
;Da[] =
2
Densitatea de probabilitate a rezultatelor experimentale este:
– pentru planul cenzurat:
f(T=) =(T)r 1
(r 1)!exp( T)
-pentru planul trunchiat:
f(r=) =(T)r
(r 1)!exp( T)
Rezult a
f(T) = (+r)
() (r)a
(+T)+rT′
Rezult a
fp() = f(=x)
f(=T ) = (+r)
(+T)+r+r 1exp( (+T)
Rezult a c a repartit ia gamma este a priori conjugat a cu repartit ia
exponent ial a.
O comand a simpl a cu ajutorul c areia putem reprezenta funct ia
gamma este:
3.2. REPARTIT IA GAMMA 111
> curve(dgamma(x,scale=1.5,shape=2),from=0,to=15,main="Gamma
+ distribution")
Pentru a urm ari reducerea incertitudinii asociate valorii parame-
trului ^ n urma acumul arii rezultatelor experimentale, se consider a o
m asur a a incertitudinii u sor de evaluat ca:
A) dispersia
+r
(+T)2<
2
T(√
1 +r
1)
B) informat ia Fisher
IFa=2
2;̸= 2
IFp=(+T)2
+r 2;+r̸= 2
IFp> I Fa;
Rezult a:
T(√
1 +r
2 1)
Estimatorul optim bayesian va
=Mp[] =+r
+T
Exemplul 15 Vom da un exemplu simplu de utilizare a distribut iei
gamma = 0:5(lambda parametru de scar a) si a= 3:5(shape para-
meter) :
112 CAPITOLUL 3. LEGI DE REPARTIT IE A PRIORI
x.gam<-rgamma(200,rate=0.5,shape=3.5)
med.gam<-mean(x.gam)
var.gam<-var(x.gam)
l.est<-med.gam/var.gam
a.est<-((med.gam)^2)/var.gam
l.est
[1] 0.6567925
a.est
[1] 4.656781
3.3 Repartit ia uniform a
Este repartit ia ^ n care nu exist a nici un fel de informat ii a priori
asupra abilit at ii unui sistem
fa(R) ={1;R2[0;1]
0;R =2[0;1]
Aceea si lips a de informat ii ar trebui s a se re
ecte si la nivelul parame-
trului al repartit iei exponent iale. Repartit ia asociat a parametrului
nu va ^ ns a uniform a deoarece:
=1
tln1
R(t)
Rezult a
fa() =fa(R)dm
d=tR=te t
Mediul de programare RStudio pune la dispozit ia utilizatorilor
urm atoarele macroinstruct iuni:
3.3. REPARTIT IA UNIFORM A 113
dunif(x,min = 0,max = 1,log = FALSE)
punif(q,min = 0,max = 1,lower.tail = TRUE,log.p = FALSE)
qunif(p,min = 0,max = 1,lower.tail = TRUE,log.p = FALSE)
runif(n,min = 0,max = 1)
unde x,q vectori cuantile
p=vector de probabilitate
n=numar de observatii
min, max= cea mai mica si cea mai mare limita,
trebuie sa fie finite
lower.tail logical; daca TRUE (implicit),
probabilitatea este: P[X <= x],altfel P[X > x].
Capitolul 4
Distribut ii utilizate
4.1 Repartit ii discrete
4.1.1 Repartit ia binomial a
Denit ie 20 O variabil a aleatoare X are o repartit ie binomial a dac a
are distribut ia:
X(k
P(n; k))
k=0;:::nunde P (n; k) =(n
k)
pkqn k
iarp2(0;1); q= 1 p:
Variabila aleatoare X reprezint a num arul succeselor obt inute ^ n
nrepet ari independente ale unui experiment.
Se aplic a ^ n cazul a nextrageri independente una dup a alta a
unei bile dintr-o urn a ce cont ine un num ar dat de bile de dou a cu-
lori. Independent a extragerilor se asigur a pun^ and de ecare dat a bila
^ napoi.
114
4.1. REPARTIT II DISCRETE 115
Exemplul 16 Fiectranzistori de un anumit tip dintre care aau
defect iuni, iar bnu au defect iuni,
a+b=c
eAevenimentul care const a din extragerea la int^ amplare a unui
tranzistor defect, iar ⌉Aevenimentul contrar. Rezult a
p(A) =a
c=p; p(CA) =b
c=q; p+q= 1
Efectu^ and nextrageri independente si not^ and cu Akevenimentul
care const a din obt inerea a ktranzistori cu defect iuni ^ n nextrageri
repetate.Evenimentele fAkgk= 1;2::::nformeaz a un sistem complet
de evenimente si
Pn(k) =p(Ak) =Ck
npkqn k(4.1)
Repartit ia determinat a de (4.1) se nume ste repartit ia binomial a
de ordin n si parametru p. Denim variabila aleatoare asociat a
acestei repartit ii astfel:
Xk:(0 1 2 ::: n
qnC1
npqn 1C2
np2qn 2::: pn)
; q= 1 p
FieXk(k= 1;2; :::n) o variabil a aleatoare care ia valorile 1 sau 0
dup a cum la extragerea de ordin ka ap arut evenimentul AsauCA)
=X1+X2+:::+Xn
este o variabil a aleatoare care ia valoarea kdac a evenimentul As-a
produs de kori.
116 CAPITOLUL 4. DISTRIBUT II UTILIZATE
Funct ia de repartit ie binomial a a variabilei aleatoare este:
F(X) = P(f!:(!)< xg) =[x] 1∑
k=0Ck
npkqn k=
=8
>>>>>>>>>>>><
>>>>>>>>>>>>:0; x0
qn;0< x1
1∑
k=0Ck
npkqn k;1< x2
:::
n 1∑
k=0Ck
npkqn k; n 1< xn
1; x > n
gracul funct iei F(X) are ntrepte corespunz atoare celor n+ 1
puncte de discontinuitate.
Valoarea medie si dispersia repartit iei binomiale de ordin n si
parametru psunt date de formulele
M(X) =np; D2(X) =npq
Demonstrat iile se pot g asi de exemplu ^ n lucrarea [15, pag 72-74].
Observat ie 18 Se utilizeaz a ^ n controlul de calitate pe baza unei sin-
gure select ii.
Exemplul 17 D am urm atorul exemplu:
require(graphics)
# Calculeaza P(45 < X < 55) pentru p=0.5
sum(dbinom(46:54,100,0.5))
n <- 2000
4.1. REPARTIT II DISCRETE 117
k <- seq(0,n,by = 20)
plot (k,dbinom(k,n,pi/10,log = TRUE),type = "l",
+ ylab = "log density",
+ main = "dbinom(*,log=TRUE)is better than log(dbinom(*))")
+ lines(k, log(dbinom(k, n, pi/10)),col = "red",lwd = 2)
# punctele de extrem sunt omise deoarece dbinom furnizeaza 0.
mtext("dbinom(k, log=TRUE)",adj = 0)
mtext("extended range",adj = 0,line = -1,font = 4)
mtext("log(dbinom(k))",col = "red",adj = 1)
^In urma execut iei scriptului de mai sus se obt ine gura (4.1):
118 CAPITOLUL 4. DISTRIBUT II UTILIZATE
Figura 4.1: Repartit ia Binomial a
4.1. REPARTIT II DISCRETE 119
4.1.2 Repartit ia Poisson
^In relat ia (4.1) facem
np=; n! 1 ; = constant
lim
n!1Pn(k) = lim
n!1n(n 1):::(n k+ 1)
k!k
nk(1
n)n k
deoarece
lim
n!1n(n 1):::(n k+ 1)
nk= 1
lim
n!1(1
n)n k=e
rezult a
lim
n!1Pn(k) =k
k!e
Funct ia de repartit ie este
F(X) =[x] 1∑
k=0k
k!e
unde
X:(0 1 2 ::: k :::
e e 2
2!e :::k
k!e :::)
Valoarea medie si dispersia repartit iei Poisson sunt
m(X) =; D2(X) =2
Observat ie 19 Aceast a repartit ie este utilizat a ^ n studiul abilit at ii.
Exemplul 18 D am urm atorul exemplu.
120 CAPITOLUL 4. DISTRIBUT II UTILIZATE
require(graphics)
-log(dpois(0:7, lambda = 1)* gamma(1+ 0:7))# = = 1
Ni <- rpois(50, lambda = 4);
+ table(factor(Ni,0:max(Ni)))
1 – ppois(10*(15:25), lambda = 100)
# becomes 0 (cancellation)
ppois(10*(15:25),lambda = 100,lower.tail = FALSE)
# no cancellation
par(mfrow = c(2, 1))
x <- seq(-0.01, 5, 0.01)
plot(x, ppois(x, 1),type = "s", ylab = "F(x)",
+ main = "Poisson(1) CDF")
plot(x, pbinom(x,100, 0.01),type = "s",
+ ylab = "F(x)",
main = "Binomial(100, 0.01) CDF")
Obt inem gracul (4.2):
4.1. REPARTIT II DISCRETE 121
Figura 4.2: Repartit ia Poisson+Binomial a
122 CAPITOLUL 4. DISTRIBUT II UTILIZATE
4.1.3 Repartit ia hipergeometric a
Este utilizat a ^ n studiul calit at ii.
Consider am o urn a ^ n care sunt abile albe si bbile negre. Din
urn a se fac nextrageri succesive f ar a a se pune bila extras a^ napoi.
Not^ and cu Akevenimentul care const a din obt inerea a kbile albe ^ n
celenextrageri.Se consider a evenimentele fAkga.^ .
max(0 ; n b)kmin(a; b)
Din cele abile albe putem forma Ck
agrupe care cont in ecare kbile
albe. Cu cele bbile negre putem forma Cn k
bgrupe care cont in n
kbile negre.Rezult a exist a
Ck
aCn k
b
grupe care cont in ecare kbile albe si n kbile negre.
Denit ie 21 Fien; a; b 2N; n < a +b:Repartit ia hipergeome-
tric a este o repartit ie discret a ^ n care valorilor kli se atribuie proba-
bilit at ile:
Pn(k; a; b ) =Ck
aCn k
b
Cn
a+b
Funct ia generatoare a repartit iei hipergeometrice este:
G(z) =n∑
k=0Pn(k; a; b )zk;jzj 1 (4.2)
Folosind 4.1 se obt in media si select ia
M(X) =na
a+b
D2(X) =nab(a+b n)
(a+b)2(a+b 1)
^In R apelul se face folosind macroinstruct iuni:
4.1. REPARTIT II DISCRETE 123
>dhyper(x,m,n,k,log = FALSE)
>phyper(q,m,n,k,lower.tail = TRUE,log.p = FALSE)
>qhyper(p,m,n,k,lower.tail = TRUE,log.p = FALSE)
>rhyper(nn,m,n,k)
unde m =nr bile albe, n=nr.bile negre
k = nr de bile extrase din urna
p = probabilitatea
x,q = vectorul cuantilelor reprezentind numarul de
bile albe extrase fara intoarcere.
nn = numarul de observatii
log,log.p
logical; daca TRUE, probabilitatea p este data log(p).
lower.tail
logical; daca TRUE (default), probabilitatea este P[X <= x],
altfel P[X > x].
Exemplul 19 Pentru exemplicare d am urm atorul exemplu:
>m <- 10; n <- 7; k <- 8
>x <- 0:(k+1)
>rbind(phyper(x, m, n, k),dhyper(x,m,n,k))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0 0.0004113534 0.01336898 0.117030
0.4193747 0.7821884 0.9635952 0.99814891
[2,] 0 0.0004113534 0.01295763 0.103661
0.3023447 0.3628137 0.1814068 0.03455368
[,9] [,10]
[1,] 1.00000000 1
[2,] 0.00185109 0
# FALSE ## erorile sunt foarte mici
>signif(phyper(x,m,n,k)-cumsum(dhyper(x,m,n,k)),
+ digits = 3)
124 CAPITOLUL 4. DISTRIBUT II UTILIZATE
[1] 0.00e+00 0.00e+00 0.00e+00 1.39e-17 -5.55e-17
-1.11e-16 -1.11e-16 0.00e+00
[9] 0.00e+00 0.00e+00
4.2 Repartit ii continue
4.2.1 Repartit ia normal a
Denit ie 22 Variabila X urmeaz a repartit ia normal a de parametrii
m si2;dac a densitatea sa de repartit ie este
f(x) =1
2p
2e (x m)2
22; x2R (4.3)
Variabila X se nume ste normal a de parametrii m si 2;dac a are funct ia
de repartit ie normal a, care se noteaz a N(m, 2):
Funct ia de repartit ie a repartit iei normale N(m,2):
F(x) =1
2p
2x∫
1e (t m)2
22dt:
Valoarea medie si dispersia sunt date de:
M(X) =1∫
1xf(x)dx=m
D2(X) =1∫
1(x m)2f(x)dx=2
Reprezentarea grac a a funct iei 4.3 arat a c a este simetric a fat a de
paralela la axa Oy dus a prin punctul de abscis a m de pe axa Ox, mai
4.2. REPARTIT II CONTINUE 125
mult ^ n acest punct f admite un maxim
f(m) =1
p
2
Punctele de abscis a msunt puncte de in
exiune gracul ind
concav dac a
m < x < m +
si convex dac a
x < m ; x > m +
Momentele centrate
m2k+1=1∫
1(x m)2k+1f(x)dx= 0
m2k=1∫
1(x m)2kf(x)dx=(2k)!
k!2k2k
Asimetria si excesul sunt
As=m3
3= 0; E=m4
4= 0
Observat ie 20 Faptul c a asimetria si excesul sunt egale cu zero ^ si
are originea ^ n cunoscutul procedeu al statisticii descriptive de a con-
sidera aceste caracteristici drept criterii pentru stabilirea normalit at ii
unor legi ce descriu fenomene de mas a. ^In aplicarea ^ n practic a a
acestui procedeu trebuie t inut cont de:
As=E= 0
care constituie o condit ie necesar a, dar nu sucient a pentru normali-
tate.
Funct ia caracteristic a a variabilei aleatoare X repartizat a N(m,2) :
ϕ(t) =eitm t22
2
126 CAPITOLUL 4. DISTRIBUT II UTILIZATE
4.2.2 Repartit ia normal a redus a
Denit ie 23 Variabila aleatoare X urmeaz a o repartit ie normal a re-
dus a, dac a densitatea ei de repartit ie este:
g(x) =1
2p
2e x2
2; x2R
Funct ia de repartit ie a variabilei X este:
(x) =x∫
1g(u)du=1
2p
2x∫
1e t2
2dt:
Deoarece pentru 8u >0g(u) este simetric a fat a de m= 0;rezult a
( x) = 1 (x) (4.4)
Valorile funct iei ( x);numit a funct ia lui Laplace, sunt tabelate
si cu ajutorul lor se determin a probabilitatea evenimentelor ce privesc
orice variabil a aleatoare normal a
P(a < X < b ) = (b m
) (a m
)
Mai mult observ am c a pentru 8 >0 are loc
P(jX mj< ) = 2(
) 1
dac a = 3)
P(jX mj<3) = 2(3) 1
dar (3) = 0 :9987)
P(jX mj<3) = 0 :9974
Cu alte cuvinte probabilitatea ca abaterea, ^ n valoare absolut a a vari-
abilei aleatoare X repartizat a N(m,2) s a dep a seasc a 3 este
1 0:9987 = 0 :26%
4.2. REPARTIT II CONTINUE 127
4.2.3 Repartit ia lognormal a
Denit ie 24 Variabila aleatoare X urmeaz a o repartit ie lognormal a,
dac a densitatea sa de repartit ie este
f(x) =1
x2p
2e (lnx a)2
22; x2R
unde a si sunt respectiv valoarea medie si dispersia logaritmului lui
X.
Dac a punem:
=1
(lnX a)
rezult a:
X=ea
Media si dispersia sunt date de :
M(X) = ea+2
2
D2(X) = e2a+2(e2 1)
Important a acestei repartit ii rezid a^ n principal: dac a x= 0; f(x) =
0 ceea ce este convenabil variabilei aleatoare timp(repartit ia normal a
nu are aceast a proprietate).
RStudio pune la dispozit ia utilizatorilor un mare num ar de distribut ii
de probabilitate. Prexul pentru densit at ile de repartit ie este d,pen-
tru funct iile de repartit ie p,pentru cuantile q si pentru generatori de
numere/vectori aleatorii r.
Densitatea de probabilitate are argumentul opt ional log=FALSE.
Dac a log=TRUE atunci se calculeaz a logaritm din densitate.
Funct ia de repartit ie are parametrii opt ionali lower.tail = TRUE,
log.p = FALSE.
128 CAPITOLUL 4. DISTRIBUT II UTILIZATE
Dac a lower.tail=TRUE atunci funct ia de repartit ie returneaz a va-
loarea P(Xx), altfel P(X > x ). Dac a log.p=TRUE se interpre-
teaz a c a probabilit at ile sunt date prin logaritmii lor.
Funct ia care calculeaz a cuantilele are parametrii opt ionali lower.tail
=TRUE, log.p = FALSE.
Dac a lower.tail = TRUE, atunci funct ia aplicat a lui q ^ ntoarce
valoarea minim a x astfel ca P(Xx)q:
Exemplul 20 Pentru a exemplica cele prezentate scriem urm atorul
script Norm.r, exemplul este preluat din help-ul RStudio:
## Folosim "log = TRUE" pentru un interval extins :
par(mfrow = c(2,1))
plot(function(x) dnorm(x,log = TRUE),-60, 50,
main = "log { Normal density }")
curve(log(dnorm(x)),add = TRUE,col = "red",lwd = 2)
mtext("dnorm(x, log=TRUE)", adj = 0)
mtext("log(dnorm(x))", col = "red", adj = 1)
plot(function(x) pnorm(x, log.p = TRUE),-50,10,
main = "log { Normal Cumulative }")
curve(log(pnorm(x)),add = TRUE,col = "red",lwd = 2)
mtext("pnorm(x, log=TRUE)", adj = 0)
mtext("log(pnorm(x))",col = "red",adj = 1)
##
erf <- function(x) 2 * pnorm(x * sqrt(2)) – 1
## numita 'complementary error function'
erfc <- function(x) 2 * pnorm(x * sqrt(2),lower = FALSE)
## si inversa
erfinv <- function (x) qnorm((1 + x)/2)/sqrt(2)
erfcinv <- function (x) qnorm(x/2,lower = FALSE)/sqrt(2)
Obt inem gura (4.3):
4.2. REPARTIT II CONTINUE 129
Figura 4.3: Repartit ia Lognormal a
130 CAPITOLUL 4. DISTRIBUT II UTILIZATE
4.2.4 Repartit ia exponent ial a negativ a
Denit ie 25 Variabila aleatoare X urmeaz a o repartit ie exponent ial a
negativ a dac a densitatea ei de repartit ie este
f(x) =e x; > 0;0x <1
Denit ie 26 Funct ia de repartit ie a variabilei aleatoare X care
are o repartit ie exponent ial a negativ a este:
F(x) ={1 e x;dac a x >0
0;daca x0
Funct ia caracteristic a are expresia:
φ(t) =
it
Momentele de repartit iei sunt:
M1(X) =1
; M 2(X) =2
2; D2(X) =1
2
RStudio pune la dispozit ie macroinstruct iunea dexp cu sintaxele
urm atoare .
>dexp(x,rate = 1,log = FALSE)
>pexp(q,rate = 1,lower.tail = TRUE,log.p = FALSE)
>qexp(p,rate = 1,lower.tail = TRUE,log.p = FALSE)
>rexp(n,rate = 1)
unde
x,q =vectorul quantilelor.
p= vectorul probabilitatilor.
n = numarul de observatii, implicit n=1.
rate=vectorul ratelor.
4.2. REPARTIT II CONTINUE 131
log,log.p logical; daca TRUE,probabilititatea p este log(p).
lower.tail logical; daca TRUE (default),
probabilitatea este P[X $\leq $ x], altfel, P[X > x].
Daca rate nu este specificata atunci rate=1
Vom da ^ n continuare un exemplu:
dexp(1) – exp(-1) #-> 0
## o modalitate rapida de a genera numere aleatoare
## sortate U[0,1] :
rsunif <- function(n) { n1 <- n+1
cE <- cumsum(rexp(n1)); cE[seq_len(n)]/cE[n1] }
plot(rsunif(1000), ylim=0:1, pch=".")
abline(0,1/(1000+1), col=adjustcolor(1, 0.5))
Obt inem gura (4.4):
Figura 4.4: Generare nr. aleatoare prin repartit ia exponent ial a
132 CAPITOLUL 4. DISTRIBUT II UTILIZATE
4.2.5 Repartit ia Weibull
Acest model matematic acoper a un numar mare de repartit ii ale
duratelor de viat a. Se utilizeaz a cu foarte bune rezultate ^ n stu-
diul uzurii materialelor, al repartit iilor defect iunilor microprocesoa-
relor av^ and important a ^ n abilitate ^ n general.
Denit ie 27 Variabila aleatoare X are repartit ie Weibull dac a den-
siatea sa de repartit ie este:
f(x) =m
x0(x u
x0)m 1e (x u
x0)m(4.5)
unde x0>0;m > 0; 0ux <1:Pentru x < u; f (x) = 0 :
Denit ie 28 Funct ia de repartit ie a variabilei X repartizate Weibull
este
F(X) ={
1 e (x u
x0)mdaca x u; u0
0; daca x < u; u 0
Din 4.5 rezulta ca pentru
u= 0; m= 1
repartit ia Weibull coincide cu repartit ia exponent ial a negativ a, iar
dac a m 3 repartit ia Weibull tinde c atre repartit ia normal a.
^In mediul de programare RStudio exist a macroinstruct iunea dwei-
bull cu sintaxele:
dweibull(x,shape,scale = 1,log = FALSE)
pweibull(q,shape,scale = 1,lower.tail = TRUE,log.p = FALSE)
qweibull(p,shape,scale = 1,lower.tail = TRUE,log.p = FALSE)
rweibull(n,shape,scale = 1)
O comand a simpl a este:
4.2. REPARTIT II CONTINUE 133
>curve(dweibull(x,scale=2.5,shape=1.5),from=0,to=15,
+ main="Weibull distribution")
Semnicat iile parametrilor sunt similare cu cele ale repartit iei ne-
gativ exponent iale.
Vom exemplica cum se apeleaza macroinstructiunile de mai sus
prin urmatoarele dou a scripturi.
x<-seq(0,2,0.1)
plot(x,pweibull(x,scale=1,shape=2),type="l",col="red",
+ main="ECDF and Weibull CDF")
x <- c(0, rlnorm(1500))
y<-dweibull(x,shape = 1)
y1<-pweibull(x, shape = 1, scale = pi)
plot(x,y,type="b",pch="+",lwd=1)
lines(x,y1,type="o",pch=10,col="red",lty="dotted",lwd=1)
title(main="Exemplu distributie Weibull")
grid(5,5,col="blue")
Obt inem gracele din gura (4.5):
Figura 4.5: Distribut ie Weibull
(a) Primul grac
(b) Al doilea grac
134 CAPITOLUL 4. DISTRIBUT II UTILIZATE
4.2.6 Repartit ia 2
Denit ie 29 Variabila aleatoare continu a X urmeaz a o repartit ie 2cu
n grade de libertate si cu parametru ( >0)dac a densitatea sa de
repartit ie este
f(x) =xn=2 1
2n=2n (n
2)e x
22; x2[0;1); n2N
unde ()este funct ia gamma alui Euler
(r) =1∫
0xr 1e xdx; r > 0
Denit ie 30 Funct ia caracteristica a variabilei aleatoare X reparti-
zat a2cu n grade de libertate este
φ(t) = (1 2it2) n
2
Denit ie 31 Momentele repartit iei 2sunt
M1(X) = n2
M2(X) = n(n+ 2)2
iar dispersia este:
D2(X) =M2(X) (M1(X))2= 2n4
Folosind funct ia caracteristic a se arat a c a dac a variabila aleatoare
X are repartit ia 2cu n grade de libertate si parametru atunci
variabila
X n2
2p
2n
este asimptotic normal a pentru n ! 1 :
4.2. REPARTIT II CONTINUE 135
Denit ie 32 Fie X k(k= 1;2; :::n)n variabile aleatoare independente,
ecare av^ and repartit ia N(0, ):Variabila aleatoare
=n∑
k=1X2
k (4.6)
este repartizat a 2cu n grade de libertate.
Pentru demonstrarea acestei teoreme se poate consulta [16, pag
98-99].
^In mediul de programare RStudio exist a macroinstruct iunea dchisq,
cu urm atoarea sintax a:
dchisq(x,df,ncp=0,$\log $=FALSE)
pchisq(p,df,ncp=0, lower.tail=TRUE,$\log $p=FALSE)
qchisq(p,df,ncp=0$,$lower.tail=TRUE,$\log $.p=FALSE)
rchisq(n,df,ncp=0)
Vom da ^ n continuare urm atrul exemplu [10] :
require(graphics)
dchisq(1, df = 1:3)
pchisq(1, df = 3)
pchisq(1, df = 3, ncp = 0:4) # includes the above
x <- 1:10
## Chi-squared(df = 2) is a special exponential distribution
all.equal(dchisq(x, df = 2), dexp(x, 1/2))
all.equal(pchisq(x, df = 2), pexp(x, 1/2))
## non-central RNG – df = 0 with ncp > 0:
## Z0 has point mass at 0!
Z0 <- rchisq(100, df = 0, ncp = 2.)
graphics::stem(Z0)
## visual testing
136 CAPITOLUL 4. DISTRIBUT II UTILIZATE
## do P-P plots for 1000 points
##at various degrees of freedom
L <- 1.2; n <- 1000; pp <- ppoints(n)
op <- par(mfrow = c(3,3),mar = c(3,3,1,1)+.1,
mgp = c(1.5,.6,0),oma = c(0,0,3,0))
for(df in 2^(4*rnorm(9))) {
plot(pp, sort(pchisq(rr <- rchisq(n,
df = df, ncp = L), df = df, ncp = L)),
ylab = "pchisq(rchisq(.),.)", pch = ".")
mtext(paste("df = ", formatC(df, digits = 4)),
line = -2, adj = 0.05)
abline(0, 1, col = 2)}
mtext(expression("P-P plots : Noncentral "*
chi^2 *"(n=1000, df=X, ncp= 1.2)"),
cex = 1.5, font = 2, outer = TRUE)
par(op)
## "analytical" test
lam <- seq(0, 100, by = .25)
p00 <- pchisq(0, df = 0, ncp = lam)
p.0 <- pchisq(1e-300, df = 0, ncp = lam)
stopifnot(all.equal(p00, exp(-lam/2)),
all.equal(p.0, exp(-lam/2)))
Se obt in rezultatele:
The decimal point is at the |
0 | 0000000000000000000000000000000000
11112223455566778893445566778899
2 | 0001244780022566788
4 | 12234346
6 | 0
8 | 64
10 | 768
4.2. REPARTIT II CONTINUE 137
12 | 6
Obt inem gura (4.6):
Figura 4.6: Repartit ia 2
Capitolul 5
Teste statistice
Reamintim c a orice presupunere privind repartit ia necunoscut a a
unei variabile aleatoare poart a numele de ipotez a statistic a , iar me-
todele de vericare a ipotezelor statistice poart a numele de teste statis-
tice. Ipoteza care se veric a se nume ste ipoteza nul a (notat a de obicei
cu H 0) si orice alt a ipotez a admisibil a se nume ste ipotez a alternativ a
(notat a de obicei cu H A).
Vericarea ipotezei nule se face pe baza unei select ii (e santion) de
volum n,
x1; :::; x n;
dintr-o populat ie statistic a.
Testele statistice, dup a scopul lor, se pot clasica ^ n:
teste de comparare a unor parametri ai populat iei, ce veric a
ipoteze precum compararea mediilor a dou a populat ii, compara-
rea mediilor mai multor populat ii, compararea dispersiilor, etc;
teste de omogenitate sau de independent a care veric a ipoteze de
tipul dependent ei sau independent ei unor factori de clasicare;
138
139
testele de concordant a, care veric a dac a distribut ia select iei
este conforma cu o anumit a distribut ie teoretic a a sa cum ar
distribut ia normal a.
Testele de comparare se ^ mpart la r^ andul lor ^ n dou a categorii
fundamentale:
teste parametrice, pentru care se presupune c a populat iile din
care provin e santioanele au distribut ii cunoscute cu cel put in un
parametru necunoscut;
teste neparametrice, pentru care nu se face nicio presupunere
despre distribut iile populat iilor din care provin e santioanele.
Testele parametrice (e un parametru al distribut iei populat iei)
pot [30]:
– teste unilaterale (direct ionale) ^ n care
H0:=0
H1: < 0sau > 0
– teste bilaterale (nedirect ionale) ^ n care
H0:=0
H1:̸=0;
La testele parametrice, dac a valoarea parametrului care apare ^ n
ipoteza alternativ a este unic a, atunci ea se nume ste ipotez a simpl a,
altfel se nume ste ipotez a compus a.
Zona de acceptare a unei ipoteze, numit a si interval de ^ ncredere,
este un interval ^ n care se accept a, printr-un test statistic, ipoteza
nul a, c areia i se asociaz a probabilitatea 1 .
Zona de respingere este intervalul dintr-o distribut ie de select ie a
unei statistici considerate, ^ n care se respinge ipoteza nul a, c areia i
140 CAPITOLUL 5. TESTE STATISTICE
se asociaz a o probabilitate . Probabilitatea este numit a prag de
semnicat ie a testului.
Se pot produce erori de acceptare sau de respingere pe nedrept a
unei ipoteze, numite erori de prim a spet a sau erori de tipul I si de-a
doua spet a sau erori de tipul II.
Eroarea de tipul Ieste eroarea ^ n care se respinge pe ipoteza nul a
c^ and ^ n realitate ea este adev arat a, probabilitatea asociat a ind .
Valoarea se alege de obicei ca av^ and valoarea 0 ;05. Eroarea de tipul
IIeste cea ^ n care se accept a ipoteza nul a atunci c^ and ea este de fapt
fals a, probabilitatea asociat a ind . Regiunea critic a (de respingere)
a testului reprezint a valorile numerice ale testului statistic pentru care
ipoteza nul a va respins a.
Nivelul de ^ ncredere al unui test este 1 , iar puterea
testului este 1 .Un test statistic, ^ n general, parcurge urm atorii
pa si [21]:
1. Se formulaz a ipotezele statistice: o ipotez a nul a H0 si o ipotez a
alternativ a H1.
2. Pe baza select iei se calculeaz a o statistic a numit a statistica
testului.
3. Se alege un prag de semnicat ie pentru testul statistic.
4. Se compar a valoarea actual a a statisticii testului cu valoarea
teoretic a.
5. Se stabilesc regulile de decizie de acceptare sau respingere a
ipotezei nule.
Exist a funct ii R predenite, precum z.test care se g ase ste ^ n pa-
chetul de programe R TeachingDemos .
Acest pachet de funct ii R se poate g asi ca arhiv a zip la adresa web
http://cran.r-project.org/web/packages/TeachingDemos/index.html
Dup a desc arcarea pe calculatorul personal a pachetului, pentru
instalare se poate folosi opt iunea"Install package(s) from local zip
les…" din meniul Packages.
5.1. TESTE STATISTICE PENTRU UN ES ANTION 141
Dup a instalarea cu succes, se poate alege opt iunea"Load pac-
kage…", din acela si meniu pentru ^ ncarcarea pachetului TechingDe-
mos. Exist a funct ii R predenite, precum sign.test care se g ase ste
^ n pachetul de programe BSDA (Basic Statistics and Data Analysis).
Acest pachet de funct ii R se poate g asi ca arhiv a zip la adresa web
http://cran.r-project.org/web/packages/BSDA/index.html
Se descarc a, se instaleaz a si se ^ ncarc a pachetul BSDA ca ^ n cazul
pachetului TeachingDemos.
Alte funct ii referitoare la teste statistice se mai g asesc ^ n pachetul
standard"stats" care se instaleaz a automat la instalarea software-ului
R.
5.1 Teste statistice pentru un e santion
5.1.1 Testul Z pentru un e santion
Se folose ste atunci c^ and facem comparat ie^ ntre media unui e santion
si media unei populat ii, el se aplic a pentru e santione de dimensiune
n30 (100, dup a Cohen).
Testul de concordant a Z (sau testul normal) veric a o ipotez a re-
feritoare la media unei populat ii repartizate normal, cu dispersia cu-
noscut a.
Se consider a select ia (e santionul)
X1; X2; :::; X n
de variabile aleatoare independente si identic repartizate, de repartit ie
N (m; 2), cu cunoscut. Ipoteza nul a este:
H0:m=m0;
adic a media populat iei din care este extras e santionul este egal a cu
media populat iei de comparat ie; e santionul face parte din populat ie .
142 CAPITOLUL 5. TESTE STATISTICE
iar ipoteza alternativ a:
Ha:m̸=m0
adic a populat ia din care face parte e santionul este diferit a de populat ia
de comparat ie; e santionul nu face parte din populat ie.
Valoarea critic a:
Pentru pragul = 0;05, valoarea lui z critic este de 1 ;96;
pentru pragul = 0;01, valoarea lui z critic este 2 ;58:
Statistica Zse calculeaz a dup a formula:
Z=x m0
=2pn(5.1)
unde xreprezint a media de select ie a e santionului:
x=1
nn∑
i=1xi
Ca urmare a teoremei limit a central a, statistica Zare repartit ia
normal a standard N(0;1) pentru n mare. Avem ^ n acest caz, dac a
vom alege un risc , ipotezele si criteriile de acceptare sau respingere
conform cu tabelului urm ator:
H0 Ha Zona de respingere
m=m0m̸=m0 jzj> z 1
2
m=m0m > m 0 z > z 1
m=m0m < m 0 z < z 1
Observat ie 21 Se utilizeaz a ^ n controlul pe baza unei singure select ii
(plan simplu de control) c^ and din lot se aleg la ^ nt^ mplare nproduse.
Dintre acestea pot mdefecte. Prin condit iile tehnice sunt determi-
nate n si num arul de acceptare A:Dac a m > A lotul este respins, ^ n
5.1. TESTE STATISTICE PENTRU UN ES ANTION 143
caz contrar lotul este acceptat. Probalitatea de acceptare a lotului de
volum maren
N0:10
este
Pa=P(kA) =A∑
k=0Ck
npk(1 p)n k
^ n care keste num arul de obiecte rebutate, iar peste probabilitatea de
rebut a unui obiect oarecare din lot(fract iunea defect a real a). Probabi-
litatea de respingere (puterea planului de control) este
(p) = 1 Pa
^In pachetul de funct ii R TeachingDemos exist a funct ia predenit a
z.test , cu prototipul:
z.test(x, mu = 0, stdev, alternative
= c("two.sided", "less", "greater"),
sd = stdev, conf.level = 0.95)
unde
– x = vectorul valorilor din esantionul considerat
– mu = media teoretica a populatiei
– stdev = dispersia cunoscuta a polulatiei
– alternative = directia ipotezei alternative,
valoarea implicita fiind „two.sided''(bilateral)
– sd = alternativa la stdev
– conf.level = intervalul de incredere
Exemplul 21 S a presupunem c a avem 10 microprocesoare care au
f acut un test de andurant a. Media obt inut a la acela si test, referitor
la ^ ntreaga select ie este 75. Vrem s a veric am dac a exist a o diferent a
144 CAPITOLUL 5. TESTE STATISTICE
statistic a semnicativ a (cu nivel de semnicat ie de 5%) ^ ntre media
e santionului cu valorile (exprimate ^ n ore): 65, 78, 88, 55, 48, 95, 66,
57, 79, 81 la testul de andurant a si media select iei, presupun^ and c a
dispersia este cunoscut a si egal a cu 18.
O secvent a de cod R necesar a pentru rezolvarea problemei este
urm atoarea:
> x = c(65, 78, 88, 55, 48, 95, 66, 57, 79, 81)
> z.test (x,75,18) #media=75, dispersia=18
One Sample z-test
data: x
z = -0.6676, n = 10.000, Std. Dev. = 18.000, Std.
Dev. of the sample
mean = 5.692, p-value = 0.5044
alternative hypothesis: true mean is not equal to 75
95 percent confidence interval:
60.04369 82.35631
sample estimates:
mean of x
71.2
Astfel sunt calculate: valoarea statisticii care este 0;6676, in-
tervalul de ^ ncredere pentru media vectorului x, etc. Acum putem
compara valoarea statisticii testului cu valoarea distribut iei student
cu 10 1 = 9 grade de libertate determinat a din tabele sau se poate
folosi funct ia R pentru determinarea acestei valori:
qnorm (p; :::)
care calculeaz a valoarea teoretic a a statisticii Zcu pragul de semnicat ie
al testului p.^In cazul nostru:
5.1. TESTE STATISTICE PENTRU UN ES ANTION 145
> qnorm(0.975) #Z_(1-alpha/2)
[1] 1.959964
Valoarea calculat a a statisticii Z este egal a cu 0:6676 si ^ n valoare
absolut a este mai mic a dec^ at valoarea teoretic a 1 :959964 pentru =
0:05. A sadar, se accept a ipoteza nul a a testului si astfel se decide c a
media e santionului este similar a cu media ^ ntregii select ii.
Alternativ, se poate folosi p-valoarea calculat a. p-valoarea unui
test statistic este cea mai mic a valoare a nivelului de semnicat ie pen-
tru care informat ia extras a din e santion este semnicativ a
(H0adev arat a se respinge), cu un prag de semnicat ie al testului
de 5%, se poate aplica regula: dac a valorea p este mai mare dec^ at
0:05 atunci se accept a ipoteza nul a H0, iar dac a este mai mic a dec^ at
0:05 atunci se respinge ipoteza nul a H0^ n favoarea ipotezei alternative
H1.^In cazul nostru, p-valoarea este 0 :5044 >0:05 si deci se accept a
ipoteza nul a H0
Exemplul 22 Durata de funct ionare a unui tip de bec electric de
100W poate considerat a o variabil a aleatoare repartizat a N(1500,200).
O select ie de n=25 de becuri d a o durat a medie de funct ionare de 1380
ore.
a) S a se verice ipoteza H 0:m=m0= 1500 relativ la ipoteza
alternativ a H 1:m=m1<1500 la un prag de semnicat ie de =
0:01
b) Puterea testului pentru m=1400.
a)Deoarece ( u) = 1 (u) implic a
z= z1
Din tabele obt inem:
z0:01= z0:99= 2:33
146 CAPITOLUL 5. TESTE STATISTICE
Calcul am
xc=m0+pnz0:01
Tast am ^ n linia de comand a:
>m=1500
>sigma=200
>n=25
>z_alpha=-2.33
>xc=m+sigma/sqrt(n)*z_alpha
Obtinem:
[1] 1406.8
Deoarece x= 1380 <1406:8;tragem conluzia c a se respinge ipo-
teza H 0
b) Folosim formula:
(m1) = ( z+(m0 m1)
pn)
(m1) = ( 2:33 +(1500 1400)
2005) = (0 :17) = 0 :5675
Dac a folosim RStudio obt inem acela si rezultat:
> m=1500
> sigma=200
> n=25
> z_alpha=-2.33
> xc=m+sigma/sqrt(n)*z_alpha
> xc
[1] 1406.8
> m1=1400
> a=z_alpha+((m-m1)/sigma)*sqrt(n)
5.1. TESTE STATISTICE PENTRU UN ES ANTION 147
> a
[1] 0.17
> integrate(dnorm, -Inf,a)
0.5674949 with absolute error < 1e-04
5.1.2 Testul t pentru un e santion
Testul t (sau testul Student) pentru un singur e santion se folose ste
pentru a verica o ipotez a referitoare la media unei populat ii repar-
tizate normal, cu dispersia de data aceasta necunoscut a; se aplic a ^ n
cazul ^ n care e santionul e mai mic dec^ t 30 subiect i. Se consider a tot o
select ie X1,X2; :::X nde variabile aleatoare independente si identic re-
partizate, de repartit ie N(m; 2), cu ^ ns a necunoscut. Ipoteza nul a
este:
H0:m=m0;
adic a media populat iei din care este extras e santionul este egal a cu
media populat iei de comparat ie; e santionul face parte din populat ie.
iar ipoteza alternativ a:
Ha:m̸=m0:
adic a populat ia din care face parte e santionul este diferit a de populat ia
de comparat ie; e santionul nu face parte din populat ie.
Valoarea critic a:
C aut am valoarea critic a a lui t ^ n tabelul distribut iei lui t, ^ n funct ie
de gradele de libertate.
df = n-1.
Dispersia populat iei din care provine select ia poate estimat a prin
estimatorul deplasat:
S2=1
nn∑
i=1(xi x)2
148 CAPITOLUL 5. TESTE STATISTICE
sau prin estimatorul nedeplas_ at:
s2=1
n 1n∑
i=1(xi x)2
unde xreprezint a media de select ie a e santionului
x=1
nn∑
i=1xi
Dac a volumul select iei este mare ( n30) atunci S2s2: si se
poate folosi statistica Z (5 :1):Dac a n < 30 se poate folosi testul
Student ^ n care se calculeaz a statistica testului astfel :
t=x m0
s=2pn
Aceast a statistic a a testului t este repartizat a Student cu n 1
grade de libertate.
Decizia statistic a:
Dac a valoarea lui t calculat este mai mare dec^ at valoarea lui t
critic, atunci respingem ipoteza nul a; dac a valoarea lui t calculat este
mai mic a dec^ at t critic, atunci nu respingem ipoteza nul a.
Estimarea mediei populat iei din care face parte e santionul:
Estim am limitele ^ ntre care se g ase ste (cu probabilitate de 99% sau
95%) media populat iei din care face parte e santionul; Pentru a face es-
timarea ne folosim de : media e santionului, valoarea lui t critic si eroa-
rea standard a mediei (abaterea standard a distribut iei e santioanelor
de volum n). ^In pachetul de funct ii R"stats" exist a funct ia predenit a
t.test, cu prototipul:
t.test(x, y = NULL, alternative =
c("two.sided","less","greater"),
5.1. TESTE STATISTICE PENTRU UN ES ANTION 149
mu = 0, paired = FALSE, var.equal = FALSE,
conf.level = 0.95)
unde:
– x = vectorul valorilor din primul e santion
– y = al doilea vector (opt ional) de valori folosit pentru teste cu
dou a e santioane
– alternative = direct ia ipotezei alternative, valoarea implicit a ind
dblleft two.sided dblright
(bilateral)
– mu = media teoretic a populat iei
– paired = indicator logic pentru un t-test pereche
– var.equal = variabil a logic a ce indic a dac a cele dou a variant e sunt
egale sau nu
– conf.level = intervalul de ^ ncredere
Consider^ and din nou aplicat ia de la testul anterior, de data aceasta
cu dispersie necunoscut a, ^ nt^ ai s a calcul am statisticele clasice:
> mean(x) #media datelor din vectorul x
[1] 71.2
> sd(x) #deviatia stantard a datelor din vect. x
[1] 15.34637
Acum, o secvent a de cod R care rezolv a aplicat ia considerat a este
urm atoarea:
> x = c(65, 78, 88, 55, 48, 95, 66, 57, 79, 81)
> t.test (x, mu=75)
One Sample t-test
data: x
t = -0.783, df = 9, p-value = 0.4537
alternative hypothesis: true mean is not equal to 75
95 percent confidence interval:
150 CAPITOLUL 5. TESTE STATISTICE
60.22187 82.17813
sample estimates:
mean of x
71.2
Astfel sunt calculate:
– valoarea statisticii care este 0:783,
– num arul gradelor de libertate care este 10 1 = 9,
– intervalul de ^ ncredere pentru media vectorului x, etc.
Acum putem compara valoarea statisticii testului cu valoarea distribut iei
student cu 9 grade de libertate determinat a e din tabele , e se poate
folosi funct ia R pentru determinarea acestei valori:
qt(p, df, …)care calculeaz a valoarea teoretic a a statisticii t cu pra-
gul de semnicat ie al testului p si num arul gradelor de libertate df. ^In
cazul nostru:
> qt(0.975, 9)
[1] 2.262157
A sadar, valoarea statisticii t este egal a cu -0.783 si ^ n valoare ab-
solut a este mai mic a dec^ at valoarea critic a 2.262157 cu = 0:05 si
deci se accept a ipoteza testului si se decide c a media e santionului este
semnicativ similar a cu media ^ ntregii populat ii.
Alternativ, se poate folosi p-valoarea calculat a. Cu un prag de
semnicat ie al testului de 5%, se poate aplica regula: dac a valorea p
este mai mare dec^ at 0.05, atunci putem accepta ipoteza nul a H0, iar
dac a este mai mic a dec^ at 0 :05;atunci respingem ipoteza nul a H0^ n
favoarea ipotezei alternative H1.^In cazul nostru, p-valoarea este:
0:4537 >0:05
si deci se accept a ipoteza H0.
5.1. TESTE STATISTICE PENTRU UN ES ANTION 151
5.1.3 Testul binomial
Testul neparametric binomial poate folosit c^ and avem o variabil a
cu dou a valori. Acesta se bazeaz a pe urm atoarea formul a:
P(k succese in n incercari ) =Ck
npkqn k
Adic a, probabilitatea de a obt ine kevenimente din n^ ncerc ari se
calculeaz a ca produs al combinat iilor de nluate c^ ate kmultiplicat
cu probabilitatea teoretic a a succesului ridicat a la num arul de suc-
cese ^ nmult it cu probabilitatea teoretic a a e secului ridicat a la puterea
num arului de e securi.
Testul se realizeaz a cu ajutorul statisticii Z:
Z=x p
2√
pq=nN(0;1)
^In R, ^ n pachetul de programe standard \stats" exist a funct ia pre-
denit a
binom.test(x, n, p = 0.5, alternative = c("two.sided",
"less", "greater"), conf.level = 0.95)
unde
– x = num arul de succese sau un vector cu 2 componente: (num ar
de succese, num ar
de e securi)
– n = num arul de ^ ncerc ari
– p = probabilitatea de succes
– alternative = direct ia ipotezei alternative, valoarea implicit a ind
\two.sided" (bilateral)
– conf.level = nivelul de ^ ncredere al testului.
152 CAPITOLUL 5. TESTE STATISTICE
Exemplul 23 S a se testeze ipoteza c a compartimentul de calitate al
unei rme ce produce microprocesoare spune adev arul sau nu si anume
c a nu se face nici o diferent a ^ ntre cele pe 64 bit i si cele pe 32 bit i
c^ and se face testul de andurant a. Se aleg 500 de microprcesoare si se
g asesc 267 de microprcesoare pe 64 bit i. Se consider a cu nivelul de
semnicat ie 5%.
Solut ie 1 O secvent a de cod R ce poate solut iona aplicat ia este urm atoarea:
> binom.test(267,500)
#Exact binomial test data: 267 and 500
number of successes = 267,number of trials = 500,
p-value = 0.1399
alternative hypothesis: true probability
of success is not equal to 0.5
95 percent confidence interval:
0.4891844- 0.5784114
sample estimates: probability of success 0.534
S-a obt inut o p-valoare apropiat a de 0.1399, ind astfel mai mare
dec^ at pragul de semnicat ie 0.05 si astfel se accept a ipoteza nul a.
Prin urmare, este foarte probabil ca departamentul de calitate s a
spun a adev arul.
5.1.4 Testul 2
Testul Hi-p atrat se aplic a dac a urm atoarele condit ii sunt^ ndeplinite:
1.Participant ii la studiu apart in unui e santion independent rando-
mizat.
2.Se dore ste investigarea asocierii dintre dou a variabile indepen-
dente.
5.1. TESTE STATISTICE PENTRU UN ES ANTION 153
3.Caracteristicile observate sunt m asurate pe scala nominal a sau
ordinal a
4.^In tabelul de contingent a teoretic (sau expectat) ecare celul a
cont ine valori mai mari sau egale cu 10.
{Dac a frecvent ele teoretice au valori^ ntre 5 si 9 se va aplica corect ia
Yates .
{Dac a frecvent ele teoretice au valori mai mici de 5 se va aplica
testul Fisher exact .
5.^In tabelul de contingent a teoretic (sau expectat) >80% din celule
au valori mai mari sau egale cu 5. Dac a aceast a condit ie nu este
^ ndeplinit a se va aplica testul Fisher exact.
6.Nu exist a nici o celul a cu frecvent a a steptat a egal a cu zero.
Acest test este unul dintre cele mai importante teste statistice pen-
tru cea mai bun a potrivire a modelului^ n cazul unei variabile nominale
cu dou a sau mai multe valori.
Ipoteza nul a si ipoteza specic a
Ho: frecvent ele observate pentru diferite modalit at i ale variabilelor
sunt egale cu frecvent ele a steptate pentru modalit at ile respective, ceea
ce ^ nseamn a c a nu exist a leg atur a ^ ntre variabile (datele se potrivesc
cu modelul stabilit ^ nainte).
Hs: frecvent ele observate sunt diferite de frecvent ele a steptate,
ceea ce ^ nseamn a c a exist a leg atur a ^ ntre variabile.
Statistica testului se calculeaz a ^ n felul urm ator:
Se ia num arul observat ( ni) , se scade num arul a steptat ( n′i) si
se ridic a diferent a la p atrat. Cu c^ at deviatia fat a de ipoteza nul a este
mai mare, cu at^ at mai mare ne a stept am ca diferent a dintre num arul
observat si cel a steptat. Prin ridicarea la p atrat, toate aceste diferent e
devin pozitive.
154 CAPITOLUL 5. TESTE STATISTICE
Apoi, ecare dintre aceste diferent e se ^ mparte la num arul a steptat
si aceste diferente standardizate se ^ nsumeaz a:
2=k∑
i=1(ni n′
i)2
n′
i(5.2)
Ca ^ n majoritatea testelor statistice, cu c^ at este mai mare diferent a
dintre valoarea observat a si cea a steptat a, cu at^ at mai mare devine
valoarea testului statistic.
Distribut ia testului statistic sub ipoteza nul a se potrive ste cu distribut ia
2.K. Pearson a ar atat c a, ^ n cazul ^ n care probabilit at ile:
pi=n′
i
ni
nu sunt apropiate de 0 sau 1, iar produsele
n′
i=nipi
unde
pi=f(xi)
dup a estimarea parametrilor, nu sunt prea mici (practic nu sunt mai
mici dec^ at 5), funct ia considerat a are repartit ia 2cu (s 1) k
grade de libertate, s ind num arul de valori observate, iar k num arul
parametrilor estimat i. Dac a ^ ntre repartit ia de select ie si repartit ia
teoretic a exist a concordant a, atunci statistica denit a de relat ia (5.2)
trebuie s a e mai mic a si nu va dep a si o valoare determinat a.
2
(s 1) k;
corespunz atoare num arului gradelor de libertate ( s 1) k si pra-
gului de semnicat ie dat. Regiunea critic a a testului va dat a de
inegalitatea
2> 2
(s 1) k;
5.1. TESTE STATISTICE PENTRU UN ES ANTION 155
si deci, dac a
22
(s 1) k;
accept am ipoteza H0, ^ n caz contrar o respingem.
Caz special al testului chi p atrat este testul medianei si
este folosit pentru comparat ii ^ ntre dou a e santioane independente de
subiect i ( Ho: medianele celor dou a e santioane sunt egale); ecare
e santion este ^ mp art it ^ n dou a grupuri: un grup cu valori mai mici
dec^ at mediana celor dou a e santioane combinate si un grup cu valori
mai mari dec^ at mediana. Este folosit apoi chi p atrat pentru a verica
dac a frecvent ele observate sunt diferite de cele a steptate.
^In pachetul standard"stats" exist a funct ia R predenit a
chisq.test(x, y = NULL, correct = TRUE,
p = rep(1/length(x), length(x)), rescale.p = FALSE,
simulate.p.value = FALSE, B = 2000)
unde
– x = vectorul valorilor din primul e santion
– y = vector (opt ional) de valori din al doilea e santion
– correct = indicator logic referitor la faptul c a se aplic a sau nu
corect ie de continuitate
– p = vectorul probabilit at ilor de aceea si lungime ca vectorul x cu
valoari implicite egale
– rescale.p = indicator logic cu valoarea TRUE ^ n cazul ^ n care este
necesar a rescalarea la suma 1, FALSE ^ n cazul ^ n care suma valorilor
lui p nu este 1. – simulate.p.value = indicator logic ce specic a dac a
se calculeaz a valorile p cu simulare Monte-Carlo
– B = ^ ntreg ce specic a num arul de duplicate folosite ^ n testul
Monte-Carlo.
Exemplul 24 Consider am c a rma Siemens are: 70% dintre relee
produse ^ n Sibiu, 10% produse ^ n Timi soara, 10% ^ n Bra sov si 10%
156 CAPITOLUL 5. TESTE STATISTICE
^ n Bucure sti. Vrem s a test am dac a proport iile observate ^ n e santionul
considerat difer a semnicativ de cele din ipoteza statistic a.
Solut ie 2 Presupunem c a frecvent ele observat iilor sunt urm atoarele:
145 relee din Sibiu, 24 din Timi soara , 20 din Bra sov si 11 din Bu-
cure sti.
Urm atoarea secvent a de cod RStudio aplic a testul 2pentru aplicat ia
considerat a:
> frecvente = c(145,24,20,11)
> proportii = c(0.7,0.1,0.1,0.1)
> chisq.test(frecvente,p=proportii)
Chi-squared test for given probabilities
data: frecvente
X-squared = 5.0286, df = 3, p-value = 0.1697
Cuantila 2cu 4-1=3 grade de libertate se pot determina e din
tabele e ^ n R astfel:
> qchisq(0.95,3)
[1] 7.814728
Aceste rezultate (p-valoarea este 0 :1697 >0:05) sau valoarea cal-
culat a a statisticii testului este 5 :0286 <valorea cuantilei cu 3 grade de
libertate = 7 :814728 arat a c a proport iile releelor din e santionul consi-
derat nu difer a semnicativ de valorile furnizate ^ n ipoteza statistic a.
5.2 Teste statistice pentru dou a e santioane
5.2.1 Testul Sign (al semnelor)
Acesta se aplic a c^ and nu putem m asura diferent a dintre cele dou a
e santioane, dar putem observa c a exist a o diferent a ^ ntre e santioanele
^ n discut ie.
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 157
Se utilizeaz a semnul diferent ei si nu valoarea acesteia, atunci c^ and
ambele valori sunt m asurate pentru aceia si subiect i. Dac a nu ar exista
nicio diferent a ^ ntre valorile perechi, atunci num arul diferent elor po-
zitive ar trebui sa e egal cu cel al diferent elor negative.
Cu c^ at num arul diferent elor de un anumit semn este mai mare
comparativ cu cel al diferent elor de semn opus, cu at^ at cre ste posibili-
tatea ca diferent a dintre variabile s a e statistic semnicativ a. Putem
formula ipoteza testului astfel:
p=P(X > Y )
si ipoteza nul a este ^ n acest caz
H0:p= 0:5
Acest a ipotez a implic a faptul c a d^ andu-se o pereche aleatoare de
m asur atori ( xi; yi)iatunci xi siyiau aceea si sans a de a mai mari
unul dec^ at cel alalt.
Variabilele celor dou a e santioane trebuie s a e de tip numeric, iar
valorile s a e exprimate ^ n aceea si unitate de m asur a, pentru a se
putea face diferent a lor.
^In pachetul de programe BSDA exist a funct ia R predenit a:
>SIGN.test(x,y = NULL, md = 0,alternative = "two.sided",
conf.level = 0.95)
unde
– x = este un vector de valori din primul e santion (valori NA sau
Inf se accept a, ^ ns a sunt ignorate)
– y = este (opt ional) un vector de valori din al doilea e santion
(valori NA sau Inf se accept a, ^ ns a sunt ignorate)
– md = valoarea medianei populat iei specicat a ^ n ipoteza nul a al-
ternative = direct ia ipotezei alternative, valoarea implicit a ind \two.sided"
(bilateral).
– conf.level = intervalul de ^ ncredere
158 CAPITOLUL 5. TESTE STATISTICE
Exemplul 25 [6, pag 328] S a consider am doi vectori ce cont in valori
^ nainte de efectuarea unui control la recept ia unor materiale necesare
producerii de componente electronice si dup a aceasta.
Vom testa ipoteza nul a:"Nu exist a diferent e ^ ntre cei doi vectori de
m asur atori", cu ipoteza alternativ a:"Exist a diferent e ^ ntre cei doi
vectori de m asur atori"
Scriem codul RStudio:
> x=c(15,14,14,13,15,13,12,13)
> y=c(16,14,15,15,17,15,14,15)
> SIGN.test(x,y)
Dependent-samples Sign-Test
data: x and y
S = 0, p-value = 0.01563
alternative hypothesis: true median difference
is not equal to 0
95 percent confidence interval:
-2.000 -0.675
sample estimates:
median of x-y
-2
Conf.Level L.E.pt U.E.pt
Lower Achieved CI 0.9297 -2 -1.000
Interpolated CI 0.9500 -2 -0.675
Upper Achieved CI 0.9922 -2 0.000
Cum p-valoarea este 0.01563 este foarte mic a, atunci se respinge
ipoteza nul a in favoarea ipotezei alternative.
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 159
5.2.2 Testul t pentru dou a e santioane indepen-
dente
Multe cazuri de analiz a statistic a implic a o comparat ie ^ ntre me-
diile a dou a colectivit at i generale. Spre exemplu, patronul de la rma
Flanco dore ste s a vad a dac a exist a diferent e ^ ntre v^ anz arile realizate
la cuptoare cu microunde ^ nainte si dup a o campanie de publicitate.
Un grup de consumatori dore ste s a vad a, dac a exist a o diferent a sem-
nicativ a ^ ntre consumul electric pentru dou a tipuri de cuptoare cu
microunde.
Condit ii de aplicabilitate :
1.variabila independent a este m asurat a pe o scal a nominal a;
2.variabila dependent a este m asurat a pe o scal a de interval sau de
proport ii; variabila dependent a are o distribut ie normal a;
E santionul de subiect i a fost extras aleator din populat ie, apoi a
fost ^ mp art it randomizat ^ n dou a grupuri; grupurile sunt mai mici de
30 (100) de subiect i
Testul t pentru dou a e santioane independente (nepereche) este pro-
babil cel mai folosit test statistic si cu sigurant a cel mai cunoscut.
Utilitatea testului const a ^ n faptul c a statisticienii examineaz a cel mai
des natura a dou a variabile pentru a a
a dac a variabilele sunt asoci-
ate sau nu. Testul este folosit ca o metod a de evaluare a diferent elor
mediilor a dou a grupuri, care pot independente.
Testul poate folosit si pentru e santioane de dimensiune mic a,
dar care sunt distribuite aproximativ normal. ^In general, testul t este
utilizat ^ n urm atoarele trei situat ii, diferent iate de situat ia existent a
^ ntre dispersiile populat iilor si independent a e santioanelor:
– e santioane independente, dispersii egale;
– e santioane independente, dispersii diferite;
– e santioane dependente (perechi, corelate).
160 CAPITOLUL 5. TESTE STATISTICE
Cel mai des^ nt^ alnit caz este acel al unui test t pentru dou a e santioane
independente, unde componentele din cele dou a e santioane nu sunt
asociate.
Presupun^ and c a se cunosc dou a e santioane ( x1; :::; x n) si (y1; :::; y m),
n >30; m > 30, cu mediile m1, respectiv m2 si c a diferent a dintre cele
dou a este distribuit a normal, ipotezele statistice sunt urm atoarele:
H0:m1=m2;adic a cele dou a esantioane fac parte din aceeasi
populatie;
Ha:m1̸=m2;(testul bilateral),sau m1 m2>0; m 1 m2<0
(testul unilateral)
Statistica testului se calculeaz a astfel:
t=x y
(1
n+1
m)vuutn∑
i=1(xi x)2+m∑
j=1(yi y)2
n+m 2(5.3)
Aceasta este repartizat a Student cu n+m 2 grade de libertate.
Decizia statistic a:
Dac a t calculat este mai mare dec^ at t critic, atunci respingem
ipoteza nul a, iar dac a t calculat este mai mic dec^ at t critic, atunci nu
respingem ipoteza nul a.
jtj> t =2; n+m 2
Interval de ^ ncredere:
Putem calcula intervalul ^ n care se g ase ste diferent a mediilor la
nivelul populat iei. asrfel: calcul am limita superioar a si limita inferi-
oar a ^ n funct ie de: diferent a mediilor ( m1 m2), valoarea lui t critic
pentru = 0;05 sau = 0;01 si eroarea standard a diferent ei medii-
lor.
Puterea testului este capacitatea de a evita eroarea de tip 2
(eroarea eroarea consumatorului) adic a capacitatea testului de a
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 161
descoperi si diferent ele mici ^ ntre cele dou a e santioane
Observat ie 22 Se utilizeaz a la controlul pe baza a dou a select ii. Se
controleaz a select ie din n1produse, din care sunt respinse m1produse.
Dac am1
n1c1
lotul este respins. Dac a
c1m1
n1c2
se repet a ^ ncercarea. Se ia o select ie din n2produse si se determin a
num arul produselor necorespunz atoare m2. Dac a
m1+m2
n1+n2c3
lotul se accept a, altfel se respinge. Constantele ci; i= 1;2;3se iau din
normativ.
Se poate aplica funct ia t.test pentru dou a grupuri:
Exemplul 26 Consider am doi vectori independent i (nepereche) cu
c^ ate 13, respectiv 8 componente reprezent^ and dou a select ii de relee
a
ate la punctul de control nal. Aplic am testul t pentru a vedea dac a
mediile lor sunt egale statistic. Dac a nu specic am ^ n prealabil, se
consider a c a dispersiile celor dou a e santioane nu sunt egale
Solut ie 3 Urm atoarea secvent a de cod R aplic a testul t pentru aplicat ia
considerat a
> x <- c(79.98, 80.04, 80.02, 80.04, 80.03, 80.03,
+ 80.04, 79.97, 80.05, 80.03, 80.02, 80.00, 80.02)
> y <- c(80.02, 79.94, 79.98, 79.97, 79.97, 80.03,
162 CAPITOLUL 5. TESTE STATISTICE
+ 79.95, 79.97)
> t.test(x, y)
Welch Two Sample t-test
data: x and y
t = 3.2499, df = 12.027, p-value = 0.006939
alternative hypothesis: true difference in means is
not equal to 0
95 percent confidence interval:
0.01385526 0.07018320
sample estimates:
mean of x mean of y
80.02077 79.97875
Se observ a c a p-valoarea este 0.006939 si nu este mai mare dec^ at
0.05, deci exist a o diferent a statistic a ^ ntre mediile celor dou a grupuri.
Dac a vrem s a consider am cele dou a dispersii egale, proced am ast-
fel:
Exemplul 27 Relu am vericarea statistic a pentru alte dou a select ii:
> x <- c(79.98, 80.04, 80.02, 80.04, 80.03, 80.03,
+ 80.04, 79.97, 80.05, 80.03, 80.02, 80.00, 80.02)
> y <- c(80.02, 79.94, 79.98, 79.97, 79.97, 80.03,
+ 79.95, 79.97)
> t.test(x, y, var.equal=TRUE)
Two Sample t-test
data: x and y
t = 3.4722, df = 19, p-value = 0.002551
alternative hypothesis:true difference
in means is not equal to 0
95 percent confidence interval:
0.01669058 0.06734788
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 163
sample estimates:
mean of x mean of y
80.02077 79.97875
Rezultatele indic a faptul c a si de data aceasta (valoarea proba-
bilit at ii p este 0.002551 <0.05),deci exist a o diferent a semnicativ a
statistic ^ ntre mediile celor dou a grupuri.
Cu alte cuvinte, cum media primului grup este 80.02077 si media
celui de-al doilea grup este 79.97875, primul grup este mai semnicativ
statistic dec^ at al doilea grup.
Exist a si modalitatea grac a pentru compararea celor dou a grupuri
de date:
>plot(ecdf(x),do.points=FALSE,verticals=TRUE,
+xlim=range(x, y))
>plot(ecdf(y),do.points=FALSE,verticals=TRUE,add=TRUE)
Figura 5.1: Testul T
164 CAPITOLUL 5. TESTE STATISTICE
5.2.3 Testul Wilcoxon pentru dou a e santioane in-
dependente
Testul Wilcoxon (al rangurilor cu semn) pentru dou a e santioane
nepereche este o alternativ a neparametric a a testului t prezentat ante-
rior, aplicat pentru dou a e santioane independente (nepereche), testul
Wilcoxon nu face presupunerea c a diferent a dintre cele dou a variabile
este distribuit a normal.
Presupunerea care se face este aceea c a mediana diferent elor ^ ntre
perechi de observat ii este zero.
La testul t se f acea presupunerea c a media diferent elor perechilor
de observat ii este zero.
Ideea acestui test este urm atoarea. ^In primul r^ and, valorile perechi
pentru care diferent a este zero se ignor a. Apoi, ecare valoare abso-
lut a a diferent elor dintre observat ii prime ste un rang: cea mai mic a
diferent a prime ste valoarea 1, urm atoarea rangul 2, etc. Dac a avem
diferent e egale, ambele vor primi ca rang media rangurilor. Rangurile
tuturor diferent elor dintr-o direct ie (pozitiv/negativ) se ^ nsumeaz a si
rangurile din direct ia opus a de asemenea si se obt in valorile W- si W+.
Cea mai mic a dintre aceste valori este valoarea testului, W. Spre
deosebire de alte teste, valori mici pentru W sunt put in probabile ^ n
cazul ipotezei nule.
^In pachetul de funct ii R"stats" exist a funct ia predenit a wil-
cox.test, cu prototipul:
wilcox.test(x, y = NULL, alternative =
c("two.sided", "less", "greater"),
mu = 0, paired = FALSE, exact = NULL, correct = TRUE,
conf.int = FALSE, conf.level = 0.95)
wilcox.test(formula, data, subset, na.action)
unde
– x = vectorul valorilor din primul esantion
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 165
– y = al doilea vector (optional) de
valori folosit pentru teste cu doua esantioane
– alternative = directia ipotezei alternative,
valoarea implicita fiind two.sided (bilateral)
– mu = media teoretica populatiei cu valoarea implicita 0
– paired = indicator logic pentru un test pereche,
implicit cu valoarea FALSE
– exact = indicator logic ce specifica daca
ar trebui calculata o p-valoare exacta
– correct = indicator logic ce specifica,
daca ar trebui aplicata o corectie de continuitate
la aproximarea normala a valorii lui p
– conf.int = indicator logic ce specifica
daca ar trebui calculat un interval de incredere
– conf.level = intervalul de incredere
– formula = este o formula de forma membrul_stang
~membrul_drept, unde membrul_stang este o variabila
numerica ce da valorile, iar membrul_drept este
un factor cu doua nivele corespunzatoare celor doua grupuri
– data = o matrice optionala sau data frame ce
contine variabilele din formula implicit acestea
fiind luate din environment;
– na.action = o functie care indica ce ar trebui sa
se intample in cazul in care datele contin valori NA.
Exemplul 28 [21, pag 135] S a consider am o companie care produce
baterii, printre care si baterii scumpe. ^Ins a se dore ste modicarea
necostisitoare a celor scumpe, astfel ^ nc^ at s a se ajung a la cre sterea
duratei de viat a. Ipotezele statistice ar urm atoarele:
H0: durata de viat a a bateriilor modicate este aceea si cu cea a
celor scumpe
HA: durata de viat a a bateriilor modicate este mai mare cu cea a
166 CAPITOLUL 5. TESTE STATISTICE
celor scumpe
Presupunem c a avem la dispozit ie un e santion de 6 baterii scumpe
si un e santion de 5 baterii modicate, cele 11 sunt construite^ n condit ii
identice si independente.
Datele disponibile se refer a la durata de viat a a bateriilor conside-
rate si sunt urm atoarele:
X= (48 ;53;74;111;113;335) si Y= (62 ;101;167;174;190):
Urm atoarea secvent a de cod R aplic a testul Wilcoxon pentru exem-
plul considerat:
> x=c(48,53,74,111,113,335)
> y=c(62,101,167,174,190)
> wilcox.test(x,y)
Wilcoxon rank sum test
data: x and y
W = 10, p-value = 0.4286
alternative hypothesis: true location shift
is not equal to 0
Cum p-valoarea este 0.4286 >0.05 rezult a c a diferent a este nesem-
nicativ a statistic ^ ntre cele dou a e santioane.
5.2.4 Testul F pentru dou a e santioane indepen-
dente
Testul F (testul Snedecor) pentru dou a e santioane independente
este un test de comparare folosit pentru a determina dac a dispersiile
acestora sunt egale sau nu statistic. Testarea ipotezei privind dispersia
poate utilizat a pentru a trage concluzii privitoare la consistent a unor
procese economice ori privitoare la riscurile asociate.
Situat ia c^ and se poate aplica testul F poate recunoscut a prin:
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 167
– dou a populat ii caracterizate de variabilele X1respectiv X2;
– variabilele sunt repartizate normal
X1N(m1; 2
1)
X2N(m2; 2
2)
– dou a e santioane, unul din ecare populat ie: ( x1; ::::; x n1), respec-
tiv (y1; ::::; y n2).
Ipotezele testului pot at^ at de tip lateral c^ at si de tip bilateral..
Testul bilateral:
H0:2
1
2
2= 1;egalitatea celor dou a dispersii
H1:2
1
2
2̸= 1
Testul unilateral:
H0:2
1
2
2= 1;egalitatea celor dou a dispersii
H1:2
1
2
2<1 sau2
1
2
2>1
C^ and ipoteza nul a este adev arat a, statistica:
F=S2
1
S2
2
este repartizat a Snedecor
F;n1 1;n2 1
168 CAPITOLUL 5. TESTE STATISTICE
pentru un prag de semnicat ie , unde
S2
1=1
n1 1n1∑
i=1(xi x)2;estimat ia nedeplasat a pentru 2
1
S2
2=1
n2 1n2∑
i=1(yi y)2;estimat ia nedeplasat a pentru 2
2
Repartit ia F (Snedecor) cu 1, respectiv 2grade de libertate are
funct ia de densitate de forma:
f(x) =(1
2)1
2 (1+2
2)
(1
2) (2
2)x1
2 1(1 +x
2); x0
Decizia, la pragul de semnicat ie , pentru testul bilateral este
urm atoarea: se respinge ipoteza nul a H0^ n favoarea ipotezei alterna-
tiveHadac a:
F> F 1 =2;n1 1;n2 1
sau
F< F 1 =2;n1 1;n2 1
Decizia, la pragul de semnicat ie , pentru testul unilateral este
urm atoarea:
se respinge ipoteza nul a H0^ n favoarea ipotezei alternative Ha
dac a:
F> F 1 ;n 1 1;n2 1
^In pachetul de funct ii R"stats" exist a funct ia predenit a var.test,
cu prototipul:
>var.test(x,y,ratio = 1,alternative =
c("two.sided", "less","greater"),
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 169
conf.level = 0.95, …)
sau
>var.test(formula,data,subset,na.action, …)
unde
– x = vectorul valorilor din primul e santion
– y = al doilea vector (opt ional) de valori folosit pentru teste cu
dou a e santioane
– ratio = raportul presupus pentru dispersiile populat iilor din care
provin cele dou a e santioane
– alternative = direct ia ipotezei alternative, valoarea implicit a ind
\two.sided"(bilateral)
– conf.level = intervalul de ^ ncredere
– formula = este o formul a de forma membrul st^ ang membrul drept,
unde membrul st^ ang este o variabil a numeric a ce d a valorile,iar mem-
brul drept este un factor cu dou a nivele d^ andu-se corespunztoare celor
dou a grupuri
– data = o matrice opt ional a sau data frame ce cont ine variabilele
din formula, implicit acestea ind luate din environment;
– subset = vector (opt ional) ce specic a submult imea de observat ii
ce se va folosi
– na.action = o funct ie care indic a ce ar trebui s a se ^ nt^ ample ^ n
cazul ^ n care datele cont in valori NA
Exemplul 29 [8, pag 138] Fie 50 de valori reprezent^ and un lot de
microprocesoare distribuite N(0,2) si 30 de m asur atori reprezent^ and alt
lot distribuite N(1,1). Pentru a vedea dac a cele dou a e santioane au dis-
persiile egale sau diferite se poate folosi urm atorul cod de instruct iuni
R:
> x <- rnorm(50, mean = 0, sd = 2)
> y <- rnorm(30, mean = 1, sd = 1)
170 CAPITOLUL 5. TESTE STATISTICE
> var.test(x, y) # x si y au aceeasi dispersie?
F test to compare two variances data:
x and y
F = 5.4473, num df = 49,denom df = 29,
p-value =6.182e-06
alternative hypothesis:true ratio of variances
is not equal to 1
95 percent confidence interval:
2.736839 10.248600
sample estimates:
ratio of variances
5.447279
> qf(0.975,49,29) #quantila F(1-alpha/2,n1-1,n2-1)
[1] 1.990354
Cum valoarea calculat a (5.4473) este mai mare dec^ at valoarea te-
oretic a (1.990354), atunci se respinge ipoteza nul a.
5.2.5 Testul Kolmogorov-Smirnov
Se folose ste pentru cazul c^ and dorim s a determin am, dac a dou a
e santioane sunt semnicativ diferite. Spre deosebire de alte teste, tes-
tulKolmogorov-Smirnov nu presupune nimic despre distribut ia da-
telor si se poate spune c a acest test este neparametric si liber de
distribut ii. ^In general, testul Kolmogorov-Smirnov se poate aplica
pentru un e santion sau pentru dou a e santioane. C^ and se aplic a testul
pentru un e santion, se compar a distribut ia testat a cu alte distribut ii
cunoscute, cum ar distribut ia uniform a, normal a sau lognormal a.
Testul Kolmogorov-Smirnov pentru dou a e santioane compar a, dac a
cele dou a e santioane de date provin din aceea si distribut ie, de si nu se
specic a exact tipul distribut iei.
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 171
Din studierea convergent ei funct iei empirice de repartit ie Fnc atre
funct ia teoretic a de repartit ie F, Kolmogorov a demonstrat urm atoarea
teorem a:
lim
n!1P(dn<pn) =K() =1∑
K= 1( 1)ke 2k22(5.4)
unde >0;
dn= max jFn(x) F(x)j
Exist a si algoritmi pentru aproximarea funct iei Kpentru diverse
valori ale lui (tabelul distribut iei Kolmogorov).
Cu ajutorul teoremei (5.4) se poate da un criteriu de vericare a
ipotezei H0c a repartit ia empiric a urmeaz a o anumit a lege de repartit ie.
Dac a ipoteza H0este adev arat a, atunci diferent ele
jFn(x) F(x)j
nu vor dep a si o anumit a valoare d; npe care o x am astfel ^ nc^ at:
P(dn> d ;n=H 0) =
unde este riscul de gradul ^ nt^ ai.
Dar
P(dn> d ;n) = 1 P(dnd;n)
Lu^ and
dn=
2pn
^ nseamn a c a atunci c^ and H0este adev arat a si nsucient de mare
avem:
P(dn>
2pn) = 1 P(dn
2pn) = 1 K() =
172 CAPITOLUL 5. TESTE STATISTICE
Unui prag de semnicat ie dat ^ i corespunde prin relat ia
K() = 1
pentru o valoare astfel^ nc^ at , pentru un volum ndat al select iei
g asim valoarea:
d;n=
2pn
.
Regiunea critic a pentru ipoteza H0este dat a de relat ia:
dn>
2pn
Deci:
dac a dn<
2pn, exist a concordant a ^ ntre Fn siF si se accept a
ipoteza H0:
dac a dn
2pn,nu exist a concordant a si respingem ipoteza H0.
^In pachetul standard"stats" din R exist a funct ia ks.test :
>ks.test(x, y, alternative =
=c("two.sided","less", "greater"), exact = NULL)
unde
– x = este un vector de valori din primul e santion
– y = este (opt ional) un vector de valori din al doilea e santion sau
un sir de caractere ce reprezint a funct ia de distribut ie ca de exemplu
pnor m.
– alternative = direct ia ipotezei alternative, valoarea implicit a ind
\two.sided" (bilateral).
– exact = NULL sau un indicator logic ce stabile ste dac a p-valoarea
trebuie calculat; nu se folose ste pentru teste unilaterale cu dou a e santioane
sau ^ n cazul valorilor ambigue .
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 173
Exemplul 30 [6, Pag 231] S a consider am dou a e santioane: primul
cu 50 de componente electronice defecte repartizate N(0,1), iar al doi-
lea cu 30 de componente electronice defecte repartizate U(0,1). Au
aceasi distribut ie?
> x <- rnorm(50)
> y <- runif(30)
> ks.test(x, y)
># test Kolmogorov-Smirnov (au aceeasi distributie?)
Two-sample Kolmogorov-Smirnov test
data: x and y
D = 0.54, p-value = 1.598e-05
alternative hypothesis: two-sided #testul bilateral
Cum p-valoarea este:
1:59810 5<0:5
rezult a c a cele dou a grupuri sunt semnicativ diferite statistic.
Exemplul 31 S-au testat dou a noi tipuri de tehnolgi pentru micro-
procesoare pe 64 bit i si s-au obt inut urm atorii timpi de r aspuns m asurat i
^ n nanosecunde:
T1 68 82 95 109 112 76 81
T2 66 88 106 121 116 79 89
S a se verice folosind testul Kolmogrov-Smirnov dac a exist a o diferent a
semnicativ a.
Scriem ^ n linia de comand a:
> x1 <-c(68,82,95,109,112,76,81);
> x2 <-c(66,88,106,121,116,79,89);
> summary(x1)
174 CAPITOLUL 5. TESTE STATISTICE
Min. 1st Qu. Median Mean 3rd Qu. Max.
68.0 78.5 82.0 89.0 102.0 112.0
> summary(x2)
Min. 1st Qu. Median Mean 3rd Qu. Max.
66.0 83.5 89.0 95.0 111.0 121.0
> X1 = cumsum(x1);
> X1
[1] 68 150 245 354 466 542 623
> X2 = cumsum(x2);
> X2
[1] 66 154 260 381 497 576 665
> #Verificare grafica
> require(graphics);
> f1 <- ecdf(X1);
> f1
Empirical CDF
Call: ecdf(X1)
x[1:7] = 68, 150, 245, …, 542, 623
> f2 <- ecdf(X2);
> f2
Empirical CDF
Call: ecdf(X2)
x[1:7] = 66, 154, 260, …, 576, 665
> op <- par(mfrow = c(1,2))
> plot(f1,do.points=FALSE,verticals=TRUE)
> grid(10, 10, lwd = 2);
> plot(f2,do.points=FALSE,verticals=TRUE)
> grid(10, 10, lwd = 2);
> #Kolmogorov-Smirnov test
> ks.test(X1,X2)
Two-sample Kolmogorov-Smirnov test
data: X1 and X2
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 175
D = 0.14286, p-value = 1
alternative hypothesis: two-sided
Observ am c a nu exist a o diferent a semnicativ a ^ ntre cele dou a
tehnolgii gura(5.2):
Figura 5.2: Testul Komogorov-Smirnov dou a select ii
176 CAPITOLUL 5. TESTE STATISTICE
5.2.6 Puterea unui test
Pentru analiza puterii unui test si a m arimii efectului exist a destul
de multe pachete. Pentru moment vom alege pachetul"powerAnaly-
sis", instal^ andu-l si ^ nc arc^ andu-l ^ n mediul RStudio astfel:
> install.packages("powerAnalysis")
> library(powerAnalysis)
Atunci c^ and avem ^ n vedere calculul m arimii efectului depistat de
testul One Sample t-test , putem folosi funct ia ES.t.one() , fur-
niz^ and minimum de 3 parametri: parametrul"m" ce include media
e santionului, parametrul"mu" ce include media populat iei si parame-
trul"sd" ce include abaterea standard a e santionului. Pentru a calcula
puterea cercet arii ^ n care s-a utilizat acest test statistic, se poate fo-
losi funct ia power.t() furniz^ and, si aici, obligatoriu, parametrul"es"
ce va include m arimea efectului, parametrul"n" ce cont ine volumul
lotului de cercetare, parametrul"sig.level" ce cont ine valoarea prag la
care a fost respins a ipoteza nul a si parametrul"type" ce cont ine tipul
testului statistic folosit:"one","two" sau"unequal".
> power.t(es=2.903211, type='one', n=1566, sig.level=0.01)
One-sample t test power calculation
es = 2.903211
n = 1566
power = 1
sig.level = 0.01
alternative = two.sided
NOTE: n is the number of observations
Dac a volumul observat iilor este foarte mare, cercetarea are, si ea, o
putere foarte mare. Dac a e santionul este reprezentativ, devine aproape
cert c a orice alt a cercetare replicat a va conduce la identicarea unui
efect asem an ator. Cu ajutorul funct iei describeBy() din pachetul
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 177
"psych" putem elabora statisticile descriptive ale unei variabile ^ n
funct ie de o variabil a de grup si se poate utiliza aceast a facilitate
pentru a inspecta variant ele.
^In cazul e santioanelor perechi, rezultate ^ n urma cercet arilor folo-
sind m asur ari repetate (serie temporal a cu 2 momente), putem utiliza
tot funct ia t.test() incluz^ and parametrul"paired" setat la valoarea
TRUE. .
Deoarece puterea cercet arii, m arimea efectului si semnicat ia sta-
tistic a sunt inter-relat ionate, folosind funct ia power.t () putem face
mai multe lucruri
1.Calculul volumului e santionului,
2.Calculul m arimii efectului,
Tot ^ n categoria analizelor descriptive se g asesc funct iile skew()
sikurtosis() care furnizeaz a direct indicatorii simetriei si boltirii,
funct iile geometric.mean() siharmonic.mean() care calculeaz a
media geometric a si media armonic a dar si funct iile multi.hist() si
error.bars() care traseaz a histograma distribut iei, inclusiv simularea
curbei normale, respectiv media si intervalele de ^ ncredere.
Observat ie 23 Pentru corelat iile bivariate, atunci c^ and se urm are ste
construirea unei matrice de corelat ii, exist a funct iile corr.test() si
cor.plot() , ultima dintre ele a s^ and-o grac. De asemenea, cu aju-
torul funct iilor p olychoric() ,tetrachoric() ,biserial() sipolyse-
rial() se pot realiza corelat ii polichorice, tetrachorice, biseriale si poli-
seriale, utile la analiza instrumentelor deoarece spat iile lor de r aspunsuri
nu pot considerate variabile continui.
Exemplul 32 ^In urma aplic arii a cinci tipuri de noi tehnologii pen-
tru proiectarea unui microprocesor pe 64 bit i sau obt inut urm atoarele
proturi ^ ntr-un an (exprimate ^ n mii euro)
178 CAPITOLUL 5. TESTE STATISTICE
Tip tehn
1 48534750
2 50534751
3 47505249
4 49485348
5 47515249
S a se verice in
uent a factorului Tip tehn asupra protului.
Solut ie 4 Vom folosii funct iile skew() ,kurtosi() si multi.hist().
Tast am ^ n linia de comand a:
> teh1 = c(48,53,47,50)
> teh2 = c(50,53,47,51)
> teh3 = c(47,50,52,49)
> teh4 =c(49,48,53,48)
> teh5 =c(47,51,52,49)
> teh=c(teh1,teh2,teh3,teh4,teh5)
> n=rep(4,3)
> v=rep(1:3,n)
> table(teh)
teh
47 48 49 50 51 52 53
4 3 3 3 2 2 3
> library(psych)
> skew(teh)
[1] 0.2179354
> kurtosi(teh)
[1] -1.40685
> geometric.mean(teh)
[1] 49.65688
> harmonic.mean(teh)
[1] 49.61402
5.2. TESTE STATISTICE PENTRU DOU A ES ANTIOANE 179
Figura 5.3: Puterea unui test
> mean(teh)
[1] 49.7
> multi.hist(teh)
> error.bars(teh)
Obt inem rezultatele din gura(5.3).
180 CAPITOLUL 5. TESTE STATISTICE
Observat ie 24 Privind analiza scalelor, pachetul"psych" cont ine at^ at
funct ii pentru consistent a intern a, c^ at si pentru analiza factorial a sau
analiza de cluster. Coecientul Alpha-Cronbach se poate a
a cu ajuto-
rul funct iei alpha(). Mai mult dec^ at at^ at, funct ia guttman() ne ofer a
toate cele 8 m asuri ale delit at ii iar funct iile omega() si omegaSem()
ofer a o alt a modalitate ^ n acest sens, bazat a pe analiza factorial a con-
rmatorie.
Concluzie 1 Orice test are anumite condit ii ^ n care se aplic a, de
exemplu un test pe medii se aplic a doar dac a datele urmeaz a o distribut ie
normal a. Alegerea testului se face ^ n funct ie de tipul parametrului (ca-
litativ/cantitativ) si condit iile de aplicare ale testului. Pentru ecare
statistic a a testului se calculeaz a probabilitatea ( p) de a observa, dac a
acea statistic a s-a obt inut doar datorit a sansei.
5.3 Elemente de analiz a dispersional a
Denit ie 33 (I. V aduva 1970) Analiza dispersional a sau analiza variant ei
prescurtat Anova este metoda statistic a de analiz a a datelor de observat ie
care depind de mai mult i factori cu act iune concomitent a, cu scopul
de a stabili pe cei mai important i si de a estima in
uent a lor.
Deci analiza dispersional a este mai ^ nt^ ai, o metod a de vericare a
egalit at ii unui num ar mai mare dec^ at 2 de valori medii pentru populat ii
normale omogene ( de acea si dispersii), acest concept a fost introdus
deR.A. Fischer.
Ipoteza nul a: valorile medii ale populat iilor sunt egale, ^ mpreun a
cu presupunerea c a dispersiile sunt egale, deci se poate considera c a
este vorba, de fapt de aceea si populat ie.
Ipoteza alternativ a: valorile medii sunt diferite, iar diferent ele
sunt explicate prin in
uent a pe care unul sau mai mult i factori o au
asupra populat iilor.
5.3. ELEMENTE DE ANALIZ A DISPERSIONAL A 181
FieYo variabil a aleatoare ale c aror valori depind de factorii
X1; X2; :::X n:
Ace sti factori pot calitativi, deci variabilele indicator ce iau valori 1 si
0 sau cantitativi adic a variabile ce iau valori reale oarecare. Mult imea
valorilor unui factor poate format a dintr-un num ar nit de elemente
sau un num ar nit de clase.
O astfel de clas a de valori se nume ste nivel al factorului con-
siderat, a sadar se va spune c a factorii calitativi au un num ar nit
de niveluri. O mare clas a de probleme admite pentru observat iile
y1; y2;:::ypreprezentarea
yi=p∑
i′=1xjij+ei;1in; (5.5)
unde xjisunt coecient i constant i cunoscut i, jsunt efecte necu-
noscute, iar v.a. eisunt erori de observat ie sau de m asurare cu:
M(ei) = 0
Dac a xjiiau numai valorile 0 sau 1 ;atunci (5.5) este un model de
analiz a dispersional a liniar general.
Dac a xjinu sunt variabile variabile indicator, atunci este cazul
analizei de regresie, iar dac a unele din variabilele xjisunt indicator iar
altele iau valori continue, atunci suntem^ n cazul analizei de covariant a.
Dup a num arul de factorilor, analiza dispersional a se clasic a ^ n:
1.unifactorial a
2.bifactorial a
3.multifactorial a.
182 CAPITOLUL 5. TESTE STATISTICE
Dup a natura factorilor modelele de analiz a dispersional a se clasic a
^ n:
a)model cu efecte nealeatoare sau modelul Ial lui Eisenhart.
b)model cu efecte aleatoare sau model IIal analizei de variant a
c)modelul mixt de analiz a dispersional a ^ n care unii factori sunt ne-
aleatori si alt ii sunt variabile aleatoare.
Un studiu consistent al acestor modele se g asesc ^ n cartea ([1, pag
267-274]).
S a presupunem c a se m asoar a 3 loturi a c^ ate 100 de buc at i de table
de inox prin trei metode: control nedistructiv cu ultrasunete, control
cu pulberi magnetice, RX, f ac^ andu-se c^ ate ni; i= 1;2;3 determin ari
prin ecare metod a. Cele trei loturi provin de la trei furnizori de table
de inox diferit i. Se admite c a exist a o relat ie liniar a de dependent a
stochastic a de forma:
yji=+i+eij; j= 1; :::n; i = 1;2;3
unde yjireprezint a cea de a jvaloare obt inut a prin metoda ide
m asurare, media care ar trebui s a o aib a ecare lot, i; i= 1;2;3
este eroarea sistematic a introdus a de metoda de m asurare, iar eijero-
rile de observat ie. Din considerente de calcul se pune condit ia:
3∑
i=1i= 0
Cele trei metode de m asurare sunt suspecte a nu exacte si de aceea
sunt supuse unei analize statistice. Efectele iale metodei de m asurare
sunt considerate a constante, a se vedea exemplul 43.
Capitolul 6
Studiul calit at ii produselor
6.1 Indicatori de conformitate
Conformitatea unui lot de produse poate exprimat a e de num arul
de defecte, e de num arul de elemente defecte. Dac a defectele sunt
independente, este indicat s a se ia ^ n considerat ie num arul total de
defecte, iar ^ n caz contrar num arul de elemente defecte. Defectele
care compromit utilizarea produsului se numesc majore, iar cele care
fac ca utilizarea produsului s a e mai dicil a, f ar a a o compromite
se numesc minore, iar cele cu consecint e deosebit de grave, care pot
prelicrita viet i omene sti, se numesc critice. Pentru a aprecia confor-
mitatea unui lot se utilizeaz a ca indicator raportul:
P=Nd
N
adic a proport ia de defecte sau defective din lot.
Proport ia de defective din lot se interpreteaz a ca probabilitate, ceea
ce permite extinderea acestui indicator de la cazul loturilor de produse
realizate la cel al product iei ^ n curs de realizare. Fie un proces cu
183
184 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
nivelul de conformitate p:Dac a se alc atuiesc loturi de produse realizate
^ n urma procesului, nivele de conformitate vor oscila ^ n jurul lui p:
Observat ie 25 Indicatorul de conformitate este singurul indicator
utilizat ^ n controlul atributiv prin care de veric a doar apartenent a
vectorului performant elor la domeniului de acceptare f ar a s a se ^ nregistreze
valorile lor absolute.
Dac a performant ele ec arui element controlat sunt efectiv^ nregistrate,
a sa cum se ^ nt^ ampl a ^ n controlul prin m asurare, indicatorului pi se
al atur a caracteristicele numerice ale performant elor interpretate ca va-
riabile aleatoare continue.
De multe ori legea de repartit ie asociat a performant ei este
legea normal a a c arei densitate de probabilitate este:
f(x) =1p
2exp( (x )2
22(6.1)
unde parametrii sireprezint a media si dispersia performat ei.
Funct ia de repartit ie pentru legea normal a standard N(0,1)
este
(x) =1p
2x∫
1exp( t2=2)dt; x2R (6.2)
se nume ste funct ia lui Laplace.
Media si dispersia performant ei pot considerate indicatori de
conformitate deoarece de valorile lor depinde direct nivelul probabi-
lit at ii de aparit ie a defectului. Matematic, leg atura dintre indicatorii
de conformitate este exprimat a prin relat ia
1 p=Ts∫
Tif(x)dx+ (Ts
)
(Ti
)
6.2. ESTIMAREA S I VERIFICAREA INDICATORILOR 185
unde ( z) este funct ia dat a de relat ia (6.2).
O minimizare a proport iei de defecte pse realizeaz a prin pozit ionarea
mediei ^ n centrul c^ ampului de tolerant a. Pentru o anumit a valoare
a mediei, proport ia de defecte scade cu mic sorarea dispersiei, a varia-
bilit at ii (^ mpr a stierii product iei). Dac a f(x) dat a de relat ia (6.1) este
densitatea de probabilitate asociat a performant ei, media si dispersia
sunt denite prin relat iile:
=1∫
0x f(x)dx
2=1∫
0(x )2f(x)dx
valorile lor determin a proport ia de elemente defecte p:
Concluzie 2 Exist a o leg atur a str^ ans a ^ ntre conformitate si varia-
bilitate. Orice act iune av^ and drept scop ^ mbun at at irea conformit at ii
trebuie ^ ndreptat a ^ nspre mic sorarea variabilit at ii a c arei tendint a na-
tural a este de cre stere.
6.2 Estimarea si vericarea indicatorilor
Prima etap a a evalu arii indicatorilor const a din extragerea e santionului
dintr-un lot sau dintr-o product ie ^ n curs de realizare. Pentru ca acest
e santion s a e reprezentativ, el trebuie extras ^ n mod aleator, f ar a nici
o regul a sau idee preconceput a, din colectivitatea analizat a.
O cale de ^ nl aturare a oric arei regularit at i ^ n alegerea elementelor
din e santion este folosirea unui tabel de numere aleatoare generate
prinmetoda de simulare Monte Carlo [25].
186 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Dac a toate elementele colectivit at ii sunt numerotate si select ia lor
se face conform tabelului, caracterul aleator al e santionului este asi-
gurat. Odat a e santionul extras si elementele sale m asurate se trece la
prelucrarea datelor ^ n vederea evalu arii indicatorilor de conformitate
prelucrarea datelor ^ n vederea evalu arii indicatorilor de conformitate,
prelucrare bazat a pe teoria estim arii parametrilor.
Conform acestei teorii, pe baza datelor experimentale se poate con-
struiestimat ia punctual a a unui indicator ca o valoare orientativ a,
a c arei apropiere de valoarea adev arat a este cu at^ at mai mare cu c^ at
e santionul este mai mare. Valorile estimate punctual sunt variabile
aleatoare, ele depinz^ and de modul de extragere a e santionului. Dac a
media estimat iei punctuale coincide cu valoarea adev arat a a indi-
catorului, estimat ia se nume ste nedeplasat a.
O metod a de construct ie a estimat iilor punctuale pe baza date-
lor experimentale este metoda verosimilit at ii maxime, conform
c areia estimat ia punctual a reprezint a valoarea indicatorului care ma-
ximizeaz a probabilitatea de aparit ie a rezultatelor experimentale efec-
tiv obt inute. Aplic^ and aceast a metod a se obt in estimat iile punctuale
nedeplasate:
bp=d
n
b=n∑
i=1xi
n=x
b2=n∑
i=1(xi x)2
n 1=s2
unde nreprezint a volumul e santionului, dnum arul de defecte sau
de produse defecte din e santion, iar x1; x2; :::x nvalorile m asurate ale
6.2. ESTIMAREA S I VERIFICAREA INDICATORILOR 187
perrformant ei.
Dac a se dore ste un control al apropierii valorilor estimate de cele
adev arate ale indicatorilor se recurge la la estimarea cu interval de
^ ncredere. Pe baza datelor experimentale se calculeaz a dou a limite
^ ntre care se g ase ste valoarea adev arat a a indicatorului cu probabili-
tatea impus a 1
;numit a interval de ^ ncredere. Dac a este un
indicator oarecare de conformitate, denit ia matematic a a intervalului
de ^ ncredere este:
P(inf< < sup) = 1
:
C^ and una din limitele intervalului de ^ ncredere ( inf; sup) ia valoa-
rea 1 sau1;intervalul de ^ ncredere se nume ste unilateral.
Evaluarea indicatorilor de conformitate prin metoda estim arii cu
interval de ^ ncredere este afectat a de o precizie foarte redus a, chiar
pentru e santioane relativ mari. Precizia estim arii este evaluat a prin
ecartul dintre limitele intervalului de ^ ncredere si valoarea adev arat a a
indicatorului. La un anumit nivel de^ ncredere, precizia se^ mbun at at e ste
cu cre sterea nivelului de ^ ncredere. Contradict ia dintre precizie si
^ ncredere apare clar. Estimarea cu interval de ^ ncredere a indicato-
rilor sieste mai precis a la acea si volum al e santionului, dec^ at cea
al lui pdatorit a informat iilor mai ample furnizate de controlul prin
m asurare.
Un mod diferit de punere al problemei, face ca evaluarea indica-
torilor s a aib a perspective mai promit atoare. ^In loc s a se urm areasc a
localizarea c^ at mai precis a a indicatorilor de conformitate, se utilizeaz a
datele experimentale doar pentru ^ ncadrarea indicatorilor ^ ntr-o zon a
acceptabil a.
Acest punct de vedere este sprijinit pe teoria veric arii ipotezelor
statistice, parte integrant a a statisticii matematice. Conform acestei
teorii, asupra unui indicator de conformitate se formuleaz a o ipotez a
H0numit a ipoteza nul a, privind apartenent a indicatorului unui anu-
188 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
mit domeniu D A:Concomitent se formuleaz a ipoteza alternativ a H1
conform c aruia indicatorul apart ine unui alt domeniu D R;vericarea
respectiv adoptarea uneia din cele dou a ipoteze se face supun^ and da-
tele experimentale unui anumit criteriu de decizie. Fie xvectorul date-
lor experimentale care constau din cele nm asur ari efectuate ^ n cadrul
controlului. ^In spat iul datelor experimentale se denesc un domeniu
de acceptare ∆ A si un domeniu de respingere ∆ Rastfel ^ nc^ at dac a
vectorul observat iilor experimentale x2∆Ase accept a ipoteza nul a
H0;iar dac a x2∆Rse accept a ipoteza alternativ a H 1:Dac a reuninea
domeniilor ∆ A;∆Rnu acoper a tot ^ ntreg spat iul observat iilor experi-
mentale, este posibil s a nu se ia nici o decizie, ^ n care caz e santionul
trebuie m arit.
Criteriul de decizie, respectiv delimitarea domeniilor ∆ A;∆Reste
determiant de nivelul prestabilit al erorilor asociate veric arii ipoteze-
lor.
Observat ie 26 Aceste not iuni vor reluate din perspectiva abilit at ii.
Exist a dou a tipuri de erori:
1.eroarea de ordin I, care const a din respingerea ipotezei H 0;
2.eroarea de ordin II, care const a din acceptarea ipotezei H 0;
cu toate c a este fals a.
Probabilit at ile acestor erori, numite riscuri denite astfel:
=P(x2∆R= 2∆A)
=P(x2∆A= 2∆R)
domeniile D A si D Rreduc^ andu-se la c^ aze o singur a valoare a indi-
catorului 1;respectiv 2:
6.2. ESTIMAREA S I VERIFICAREA INDICATORILOR 189
Denit ie 34 Procedeul de a folosii o select ie pentru a verica dac a o
ipotez a este adev arat a (sau fals a) se nume ste test statistic asupra
valabilit at ii (sau falsit at ii) ipotezei.
Exist a dou a tipuri de erori care pot s a apar a :
1.Dac a se ^ nt^ ampl a ca ipoteza cercetat a s a e adev arat a si noi
decidem c a este fals a, facem o eroare de grad I, probabilitatea
acestei erori se noteaz a cu :
2.Dac a dinpotriv a ipoteza este fals a si noi decidem c a este adev arat a,
facem o eroare de grad II, probabilitatea acestei erori se no-
teaz a cu :
Valorile tipice impuse riscurilor sunt de = 5% pentru produc ator
si= 10% pentru beneciar.
Denit ie 35 Numim ipotez a statistic a o presupunere relativ a la
legea pe care o urmeaz a o caracteristic a X :
C^ and ipoteza statistic a se refer a la parametrii de care depinde legea
de probabilitate a caracteristicii Xse obt ine un test parametric,
iar ^ n caz contrar un test neparametric.
Pentru testele parametrice vom considera c a:
2A0[A1; A0\A1=
Denit ie 36 Ipoteza
H0:2A0
se nume ste ipoteza nul a, iar
H1:2A1
se nume ste ipoteza alternativ a.
190 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Dac a ipoteza nul a are forma
H0:=0(ipteza simpl a)
putem avea pentru ipoteza alternativ a una din formele
H1:̸=0(test bilateral )
H1: < 0(test unilateral st ^anga )
H1: > 0(test unilateral dreapta )
Drept concluzie la un test de vericare a ipotezelor vom lua o
decizie , adic a vom decide s a accept am ipoteza nul a (de fapt nu reu sim
s a o respingem) sau o respingem.
Dac a se dore ste un control al apropierii valorilor estimate de cele
adev arate ale indicatorilor de conformitate se recurge la estimarea cu
interval de ^ ncredere. Pe baza datelor experimentale se calculeaz a
dou a limite ^ ntre care se g ase ste valoarea adev arat a a indicatorului cu
probabilitatea impus a 1
;numit a interval de ^ ncredere. Dac a
este un indicator oarecare de conformitate, denit ia matematic a a
intervalului de ^ ncredere este:
P(inf< < sup) = 1
:
C^ and una din limitele intervalului de ^ ncredere ( inf; sup) ia valoa-
rea 0 sau 1;intervalul de ^ ncredere se nume ste unilateral.
Evaluarea indicatorilor de conformitate prin metoda estim arii cu
interval de ^ ncredere este afectat a de o precizie foarte redus a, chiar
pentru e santioane relativ mari. Precizia estim arii este evaluat a prin
ecartul dintre limitele intervalului de ^ ncredere si valoarea adev arat a a
indicatorului. La un anumit nivel de^ ncredere, precizia se^ mbun at at e ste
cu cre sterea nivelului de ^ ncredere. Contradict ia dintre precizie si
^ ncredere apare clar. Estimarea cu interval de ^ ncredere a indicato-
rilorm sieste mai precis a la acea si volum al e santionului, dec^ t cea
6.2. ESTIMAREA S I VERIFICAREA INDICATORILOR 191
al lui ddatorit a informat iilor mai ample furnizate de controlul prin
m asurare.
Rezult a c a exist a dou a grade de libertate ^ n alegerea planului
de control : nivelul de control si nivelul de calitate acceptabil
AQL. At^ at m arimea nivelului de control c^ at si mic sorarea lui AQL
conduc la o ^ mbun at at ire a carcteristicii operative ^ n sensul c a acesta
devine abrupt a. Deci se impune o alegere judicioas a a nivelului AQL
de c atre produc ator care trecbuie s a aib a ^ n vedere realizarea judi-
cioas a a unor benecii pe termen lung, pun^ andu-se ^ n balant a costul
controlului cu penaliz arile datorate elementelor defecte care trec de
control.
Pentru beneciar, alegerea nivelului de calitate acceptabil este si
mai dicil a deoarece este greu s a se admit a c a un lot este acceptabil
c^ and cont ine elemente defecte. Mai u sor ^ i este beneciarului s a im-
pun a nivelul de calitate limit a LQ, adic a proport ia de defective pe
care o consider a inadmisibil de mare. ^In principiu este perfect posi-
bil a construct ia unor planuri de control pornind de la ecuat ia riscului
beneciarului conform c areia un lot de calitate LQtrebuie accep-
tat cel mult cu probabilitatea :Exist a dou a abord ari pentru testele
statististice:
abordarea clasic a
abordarea bazat a pe probabilitate
Ne vom ocupa ^ n continuare de abordarea bazat a pe probabilit at i
folsind testele: Z, t, 2;Kolmogrov-Smirnov. care presupune parcur-
gerea urm atoarelor etape:
1.Formularea ipotezei nule
2.Formularea ipotezei alternative
3.Alegerea lui
192 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
4.Calcularea valorii statistice a testului
5.Calculul valorii probabilit at ii P:Avem trei cazuri ^ n funct ie de
tipul testului (bilateral sau unilateral)
dac a H 1este unilateral a dreapta ( >), atunci:
P=P(Z > z)
dac a H 1este unilateral a st^ nga ( <), atunci:
P=P(Z < z)
dac a H 1este bilateral a ( ̸=) atunci:
P= 2P(Z <jzj)
Decizia se ia comparand Pcu valoarea stabilita pentru :
a)Dac a P;se respinge H 0;
b)Dac a P > ; se accepta H 0:
6.3 Controlul calit at ii product iei
Controlul calit at ii product iei trebuie s a cuprind a controlul complex
al asigur arii calit at ii product iei ^ n toate etapele:
a)proiectare
b)preg atirea constructiv a si tehnlogic a
c)fabricat ie
6.3. CONTROLUL CALIT AT II PRODUCT IEI 193
d)exploatare (inclusiv controlul ecient ei fabricat iei si exploat arii)
Realizarea unei product ii de calitate ridicat a presupune un complex
de m asuri tehnico-organizatorice si educative, care s a asigure execut ia
reperelor f ar a abateri de la cerint ele standardelor si normativelor, de-
senelor, condit iilor tehnice si proceselor tehnlogice. O cale principal a
de cre sterea a calit at ii product iei o constituie respectarea tehnologiei
stabilite ^ n toate fazele de fabricat ie si ^ n orice moment, r aspunderea
pentru aceasta revenind ^ n primul r^ and inginerilor.
Controlul calit at ii are diferite forme, corespunz ator diferitelor nive-
luri de conducere a calit at ii:
i)controlul de recept ie a materiilor prime
ii)controlul materialelor si subansamblelor
iii)control pe operat ii si faze de fabricat ie
iv)control nal
v)control al comport arii ^ n exploatare
Denit ie 37 Prin control instantaneu se ^ nt elege acela a c arui
perioad a, de efectuare nu este dinainte stabilit, inspect iile se efectueaz a
dup a controlul pe operat ii sau de recept ie de c atre personalul special
^ ns arcinat cu aceasta.
Denit ie 38 Controlul activ al product iei sau procesului tehnologic
se realizeaz a pe parcursul procesului de fabricat ie cu ajutorul aparatelor
de m asur a ^ n
ux si se utilizeaz a pentru conducerea direct a a procesului
de fabricat ie.
Denit ie 39 Controlul la utilizator se realizeaz a de furnizor, ^ mpreun a
cu inspectorii de asigurarea calit at ii ^ n scopul studierii propriet at ilor
product iei livrate.
194 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Observat ie 27 ^In cazul controlului total decizia asupra calit at ii product iei
controlate se adopt a pe baza rezultatelor veric arii uneia sau mai mul-
tor select ii din product ia respectiv a, iar ^ n cazul controlului selec-
tivpe baza rezultatelor veric arii uneia sau mai multor select ii din
product ia respectiv a.
Metodele statistice de conducerea a calit at ii reprezint a metode de
control si reglare a procesului tehnologic pe baza urm aririi caracte-
risticilor empirice ale produselor pe parcursul procesului de fabricat ie
si ajustarea corespunz atoare a acestora ^ n cazul ^ n care se observ a
tendint e de dereglare a prcesului de fabricat ie.
6.4 Planuri de control atributiv (PCCVI)
Volumul e santionului prelevat si criteriul de acceptare al lotului
formeaz a elementele unui plan de control de recept ie. Ele se pot de-
termina pornind de la ecuat iile riscurilor ale probabilit at ilor de eroare.
^In controlul atributiv, rezultatele m asur atorilor se pot sintetiza ^ n
num arul de defecte d^ nregistrat la controlul e santionului. Domeniile
de acceptare si de respingere ∆ A si ∆ Bsunt delimitate ^ n spat iul uni-
dimensional 0 dn:^In cazul cel mai simplu domeniul de acceptare
cuprinde valorile lui dmai mici sau egale cu un num ar de acceptare A;
iar domeniul de respingere valorile lui dmai mari sau egale cu num arul
de respingere R=A+ 1:Aceast a partit ie a spat iului observat iilor ^ n
dou a domenii complementare corespunde planului simplu de con-
trol.
Se observ a c a num arul de defecte din e santion este o variabil a
aleatoare discret a similar a cu num arul de bile negre dintr-un e santion
extras dintr-o urn a care cont ine bile albe si negre amestecate ^ ntr-o
proport ie cunoscut a, distribut ia c autat a este distribut ia hipergeo-
6.4. PLANURI DE CONTROL ATRIBUTIV (PCCVI) 195
metric a:
P(d) =Cd
DCn d
N D
Cn
N
Dac a extragerea e santionului este de tip bernoullian, respectiv
dac a se repune ^ n lot ecare element ^ nainte de extragerea elementului
urm ator, distribut ia num arului de produse defecte este binomial a:
P(d) =Cd
npd(1 p)n d
Observat ie 28 Practic, condit ia ca un sondaj s a poat a de tip ber-
noullian, respectiv ca distribut ia binomial a s a aproximeze sucient de
binedistribut ia hipergeometric a este ca volumul e santionului s a
nu dep a seasc a a zecea parte din volumul lotului:
n0:1N
Dac a, r am^ an^ and ^ n cadrul condit iei anterioare, e santionul are un
volum sucient de mare ( >30), iar proport ia real a de produse de-
fecte nu dep a se ste 10% ;distribut ia binomial a poate aproximat a de
distribut ia Poisson:
P(d) =(np)d
d!e np
Elementele planului de control se determin a din ecuat iile:
=n∑
d=RP(d = p =p1)
=A∑
d=0P(d = p =p2)
unde P(d = p ) se ^ nlocuie ste cu una din distribut iile hipergeo-
metric a ,binomial a sau Poisson , ^ n funct ie de condit iile de aplica-
bilitate ale acestora.
196 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Astfel ^ n cazul c^ and:
30n0:1N ; p 10%
prin ^ nlocuirea distribut iei Poisson se obt ine :
A∑
d=0(np1)d
d!e np1= 1
A∑
d=0(np2)d
d!e np2=
Ecuat iile se rezolv a prin ^ ncerc ari, rezult^ and volumul e santionului
n si num arul de acceptare Ade elemente ale planului simplu de control
atributiv.
Concluzie 3 Lotul poate respins de ^ ndat a ce se acumuleaz a un
num ar Rde defecte, dar nu poate acceptat ^ nainte de controlul
tuturor elementelor din e santion.
Denit ie 40 Caracteristica operativ a exprim a proport ia de loturi
de o anumit a conformitate a c aror acceptare este de prev azut
De multe ori nu este necesar ansamblul caracteristicii operative
pentru a aprecia calitatea planului ind necesare trei puncte mai im-
portante ale acestuia:
(p1;1 ) nivelul de conformitate p1numit protect ia pro-
duc atorului ^ i corespunde probabilitatea de acceptare 1 :
Acest punct este impus apriori, dar coordonatele lui difer a de
cele prev azute init ial , datorit a rezolv arii aproximative (a rotu-
njirilor la ^ ntregi ale lui A; B) a ecuat iilor planului.Rezult a de
aici necesitatea unei distinct ii ^ ntre nivelul acceptabil al con-
formit at ii AQL(acceptable quality level ) impus init ial si
6.5. CONTROLUL PRIN ES ANTIONARE LA RECEPT IE 197
nivelul de conformitate p1care se accept a exact cu probabilita-
tea 1 :Interesul produc atorului este ca p1s a e mai mare
dec^ at AQL.
(p2; ) nivelul de conformitate p2numit protect ia benecia-
rului ^ i corespunde probabilitatea de acceptare :Beneciarul
are ^ n vedere un nivel limit a al conformit at ii LQ(limiting
quality) dincolo de care nu este dispus s a accepte nici un lot.
Dar punctul ( p2; ) nu se impune ci dup a determinarea caracte-
risticii operative se calculeaz a valoarea p2care corespunde ris-
cului impus. Aceast a valoare calculat a se confrunt a cu nivelul
limit a al conformit at ii. Dac a LQp2se garanteaz a c a bene-
ciarul va accepta o fract iune cel mult egal a cu din loturile
necorespunz atoare fabricate de produc ator.
(p3;0:5)nivelul critic de conformitate corespunz ator unei
probabilit at i.
Concluzie 4 Un plan este cu at^ at mai bun cu c^ at caracteristica sa
operativ a este mai aproapiat a de una abrubpt a, respectiv protect ia pro-
duc atorului p1este mai mare, iar protect ia beneciarului p2este mai
mic a. Acest lucru poate obt inut prin m arirea e santionului ceea ce
apropie lotul de varianta ideal a a controlului f ar a erori a ^ ntregului lot
(control 100%) .
6.5 Controlul prin e santionare la recept ie
Controlul calit at ii produselor are ca scop s a stabileasc a pe baza
unui ansamblu de reguli obiective (sprijinite pe rat ionamente probabi-
listice si procedee statistice) una din deciziile urm atoare: acceptarea
sau respingerea lotului de produse ^ n raport cu specicat iile prev azute.
198 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
El reprezint a ^ n esent a o form a particularizat a a test arii ipotezelor
statistice. Prin aplicarea unui plan de control statistic trebuie s a se
decid a dac a lotul de produse poate acceptat ca ind corespunz ator,
sau trebuie respins. Pentru aceasta se porne ste de la ipoteza logic a
conform c areia orice lot cont ine o anumit a proport ie de produse neco-
respunz atoare, denumit a fract iune defectiv a a lotului p.
Scopul controlului de recept ie este de a decide dac a aceast a fract iune
defectiv a nu
dep a se ste un anumit nivel critic p0, stabilit ^ n funct ie de conside-
rente de ordin economic.
Aceasta ^ nseamn a c a pe baza veric arii produselor din lot trebuie
s a se decid a dac a este adev arat a ipoteza:
H1:p < p 0, ^ n care caz lotul se accept a.
^In raport cu alternativa :
H2:p > p 0, ^ n care caz lotul se respinge.
Evident, fract iunea defectiv a ppoate lua o mult ime de valori^ n cele
dou a domenii ale sale limitate de punctul critic p0, adic a ^ n domeniile
0< p < p 0 si respectiv p0< p < 1.
Sistemul de aplicare practic a a controlului statistic este dat de
planurile de control atributiv, diferite prin rigurozitatea controlului
(implicit prin cheltuielile pe care le comport a) av^ andu-se ^ n vedere
implicat iile economice datorate unor decizii eronate.
[0; p1]=zona de acceptare;
[p2;100]=zona de respingere;
p0= procentul de defecte, unde pa= 0:5
LQ= nivel de la care cump ar atorul nu mai accept a lotul;
AQL = proport ia de defecte la care pa= 1
= riscul de ordin 1 al produc atorului;
= riscul de ordin 2 al beneciarului.
De regul a =5%, dar ^ n condit ii mai restrictive se ia = 1%.
^In domeniul 0 pp1probabilitatea accept arii lotului este foarte
6.5. CONTROLUL PRIN ES ANTIONARE LA RECEPT IE 199
mare, deoarece riscul pe care si-l asum a furnizorul, adic a probabilita-
tea de a i se respinge lotul cu fract iunea defectiv a pp1este mic a,
cel mult :^In domeniul de respingere, probabilitatea respingerii lotu-
rilor cu fract iunea defectiv a pp2este foarte mare deoarece potrivit
convent iei, beneciarul suport a un risc mai mic de a accepta aseme-
nea loturi. ^In cadrul domeniului de risc, at^ at probabilitatea de accep-
tare c^ at si cea de respingere variaz a ^ n limite largi, astfel c a practic
nici acceptarea nici respingerea nu sunt asigurate.
Fract iunea defectiv a p1pentru care probabilitatea de acceptare este
foarte mare, cel put in 1 se nume ste fract iune defectiv a accep-
tat a, sau nivel de caliate acceptabil AQL(Acceptable Quality
Level), deoarece loturile ^ n acest caz se consider a corespunz atoare
calitativ.
Fract iunea defectiv a p2se nume ste fract iune defectiv a tolerat a
LQ deoarece ^ n acest caz loturile se consider a corespunz atoare calita-
tiv si beneciarul le accept a cu o probabiilitate foarte mic a, cel mult
:Fract iunea defectiv a p0corespunz atoare probabilit at ii de acceptare
pa(p0) = 5% se nume ste fract iune defectiv a probabil a.
M arimile p1; p2; ; se stabilesc ^ n mod diferent iat de la un produs
la altul. ^Intre aceste m arimi, ^ n practic a exist a urm atarele relat ii:
1>1 >1
2> > 0
0< p 1< p 2; p2 p1>1
N
Este necesar pentru elaborarea unui plan de control statistic de:
1.N volumul lotului;
2.Nc nivelul de control (gradul de severitate) care dene ste ^ n
funct ie de No liter a de cod, el este stabilit de comun acord de
produc ator si beneciar.
200 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
3.AQL (LCA ) nivel de calitate acceptabil;
4.n volumul e santionului (num arul de produse extrase din lot);
5.A num arul de acceptare;
6.R num arul de respingere.
Planurile de control statistic de recept ie pot de tipul sondajului
simplu, dublu sau multiplu.
Pentru sondajul simplu se folose ste uzual testul t.
Decizia statistic a:
Dac a valoarea lui t calculat este mai mare dec^ at valoarea lui t
critic, atunci respingem ipoteza nul a; dac a valoarea lui t calculat este
mai mic a dec^ at t critic, atunci nu respingem ipoteza nul a.
Estimarea mediei populat ei din care face parte e santionul:
Estim am limitele ^ ntre care se g ase ste (cu probabilitate de 99% sau
95%) media populat iei din care face parte e santionul.
Pentru a face estimarea ne folosim de :
1.media e santionului,
2.valoarea lui t critic si
3.eroarea standard a mediei (abaterea standard a distribut iei e santioanelor
de volum n).
Observat ie 29 Controlul prin atribute este utilizat atunci c^ and ca-
racteristicile de calitate nu sunt m asurabile, sau dac a sunt m asurabile
este sucient a numai informat ia ^ ncadr arii lor ^ n limitele de tolerant a
prescris a.
Pentru sondajul dublu se folose ste uzual testul t pentru dou a e santioane.
Condit ii de aplicabilitate:
6.5. CONTROLUL PRIN ES ANTIONARE LA RECEPT IE 201
1.variabila independen a este m asurat a pe o scal a nominal a;
2.variabila dependent a este m asurat a pe o scal a de interval sau de
proport ii; variabila dependent a are o distribut ie normal a;
E santionul de subiect i trebuie extras aleator din populat ie, apoi
trebuie s a e ^ mp art it aleator ^ n dou a grupuri; grupurile sunt mai
mici de 30(100) de elemente..
Utilitatea testului const a ^ n faptul c a statisticienii examineaz a cel
mai des natura a dou a variabile pentru a a
a dac a variabilele sunt asoci
ate sau nu. Testul este folosit ca o metod a de evaluare a diferent elor
mediilor a dou a grupuri, care pot independente.
^In general, testul t este utilizat^ n urm atoarele trei situat ii, diferent iate
de situat ia existent a^ ntre dispersiile populat iilor si independent a e santioanelor:
– e santioane independente, dispersii egale;
– e santioane independente, dispersii diferite;
– e santioane dependente (perechi, corelate).
Cel mai des ^ nt^ alnit caz este acel al unui test t pentru dou a
e santioane independente, unde componentele din cele dou a
e santioane nu sunt asociate.
Practic se studiaz a si cazul c^ and se d a media si dispersia este ne-
cunoscut a, ^ n acest caz se folose ste testul 2:
Reamintim c a testul 2se aplic a dac a urm atoarele condit ii sunt
^ ndeplinite:
1.Participant ii la studiu apart in unui e santion independent rando-
mizat.
2.Se dore ste investigarea asocierii dintre dou a variabile indepen-
dente.
3.Caracteristicile observate sunt m asurate pe scala nominal a sau
ordinal a vezi gura(6.1).
.
202 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
4.^In tabelul de contingent a teoretic (sau expectat) ecare celul a
cont ine valori mai mari sau egale cu 10.
5.Nu exist a nici o celul a cu frecvent a a steptat a egal a cu zero.
Ipoteza nul a si ipoteza specic a
Ho: frecvent ele observate pentru diferite modalit at i ale variabilelor
sunt egale cu frecvent ele a steptate pentru modalit at ile respective, ce-
eace ^ nseamn a c a nu exist a leg atur a ^ ntre variabile (datele se potrivesc
cu modelul stabilit ^ nainte).
Hs: frecvent ele observate sunt diferite de frecvent ele a steptate,
ceea ce ^ nseamn a c a exist a leg atatur a ^ ntre variabile.
Plan de tipul sondajului multiplu
Tehnica acestui control este similar a celei indicate la controlul de
tipul sondajului dublu, cu except ia c a num arul e santioanelor poate
cel mult de 2, dup a ecare din acestea put^ andu-se lua decizia de ac-
ceptare sau respingere a lotului, ^ n acest caz se folose ste uzual Anova
(Analiza dispersional a).
6.5. CONTROLUL PRIN ES ANTIONARE LA RECEPT IE 203
Figura 6.1: Caracteristica operativ a
204 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
6.6 Exemple
Exemplul 33 Dintr-un lot de condensatori electrici identici 15% sunt
^ n afara limitelor de tolerant a. Care este probabilitatea de a g asi:
a) 2 condensatori din zece ^ n afara limitelor de tolerant a
b) zero condensatori din zece si respectiv din 20^ n afara limitelor
de tolerant a
Solut ie
a)Se consider a experient a extragerii unui condensator din lotul dat.
Fie evenimentele:
A-un condensator ^ n afara limitelor de tolerant a
CA un condensator ^ n intervalul de tolerant a
)P(A2) =C2
10p2q8= 450:1520:858
b)
P(A0) = C0
10p0q10= 0:8510
P(B0) = C0
20p0q20= 0:8520
RStudio pune la dispozit ia utilizatorilor un mare num ar de distribut ii
de probabilitate, numele pentru densitatea de probabilitate ^ ncepe cu
d (de exemplu, dbinom ), pentru funct ia de repartit ie ^ ncepe cu p (de
exemplu, pbinom ), pentru cuantile ^ ncepe cu q (de exemplu, qbi-
nom ), pentru vectori aleatori ^ ncepe cu r (de exemplu, rbinom ).
Densitatea de probabilitate are argumentul opt ional log=FALSE.
Dac a log=TRUE atunci se calculeaz a logaritm din densitate.
Funct ia de repartit ie are parametrii opt ionali lower.tail = TRUE,
log.p = FALSE.
Dac a lower.tail=TRUE atunci funct ia de repartit ie returneaz a va-
loarea P(X <=x), altfel P(X > x ).
6.6. EXEMPLE 205
Dac a log.p=TRUE se interpreteaz a c a probabilit at ile sunt date
prin logaritmii lor.
Funct ia care calculeaz a cuantilele are parametrii opt ionali lower.tail
=TRUE, log.p = FALSE.
Dac a lower.tail = TRUE, atunci funct ia aplicat a lui q ^ ntoarce
valoarea minim a x astfel ca P(Xx)q.
^Incerc am s a rezolv am problema de mai sus folosind RStudio :
> library("latice")
> x=2 # 2 condensatori in afara limitelor de toleranta
>size=10 # numarul total de condensatori
>prob=0.15# probabilitatea
> dbinom(x,size,prob,log=FALSE)# apelul functiei
[1] 0.2758967
> pbinom(x,size,prob,log=FALSE)
[1] 0.8201965
>rbinom(x,size,prob)
[1] 0 3
> x=0
> dbinom(x,size,prob,log=FALSE)
[1] 0.1968744
> size=20
> dbinom(x,size,prob,log=FALSE)
[1] 0.03875953
Vom face ^ n continuare o reprezentare grac a folosind funct ia den-
sityplot(~x) care va reprezenta o curb a a funct iei de densitate em-
piric a cu punctele corespunzatoare observat iilor pe axa x (similar cu
rug() ). Exemplul nostru va put in mai complicat pe ecare grac cu
superpozit ia curbelor densit at ii empirice si a celor prezise prin regula
binomial a.
206 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
library(lattice)
windows();
n <- seq(5, 45, 5)
x <- rnorm(sum(n))
y <- factor(rep(n, n), labels=paste("n =", n))
densityplot(~x | y,
panel = function(x, …) {
panel.densityplot(x, col="DarkOliveGreen", …)
panel.mathdensity(dmath=dnorm,
args=list(mean=mean(x), sd=sd(x)),
col="darkblue")
})
Figura 6.2: Curbele densit at ii empirice
6.6. EXEMPLE 207
Liniile doi, trei, patru genereaz a un e santion aleatoriu de variabile
normal independente care este ^ mp art it ^ n sub-e santioane de m arime
egal a cu 0, 1, 2, … si 20.
Apoi se apeleaz a funct ia densityplot ce produce c^ ate un grac
pentru ecare sub-e santion, panel ia ca argument o funct ie. ^In exem-
plul nostru, am denit o funct ie care apeleaz a doua funct ii pre-denite
^ n lattice: panel.densityplot pentru a desena funct ia de densitate
empiric a si panel.mathdensity pentru a desena funct ia de densitate
prezis a de regula normal a.
Exemplul 34 Se consider a un lot de 400 televizoare Philips care
cont in 8%piese cu defect iuni si se cerceteaz a num arul de piese cu
defect iuni dintr-un e santion de zece piese. S a se identice legea de
repartit ie a fenomenului aleator considerat (num arul de piese cu defect iuni
din e santionul de zece piese).
Solut ie
a+b=c= 400;
p=a
c= 0:08;
1 p=b
c= 0:92
m= 0:08400 = 32;
n= 0:92400 = 368
Folosim schema hipergeometric a, RStudio are o macro instruct iune
qhyper () care rezolv a elegant problema, deci vom scrie ^ n linia de
comand a:
> p=0.08
> m=32
> n=368
208 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
>k=300 #numar bile extrase din urna
> qhyper(p,m,n,k,lower.tail = TRUE,log.p = FALSE)
[1] 21
Exemplul 35 [15, pag 88] S a consider am un asamblu statistic de
rezistent e ale c aror valori sunt repartizate N(x;200 Ω ;64Ω2):Lu^ and la
^ nt^ amplare 100din aceste rezistent e le control am una c^ ate una. Care
este probabilitatea de a se abate cu mai mult de 8 Ωde la valoarea
nominal a de 200 Ω?
Solut ie
Not am cu X variabila aleatoare normal a considerat a. Trebuie s a
determin am mai ^ nt^ i probabilitatea:
P(200 8< X < 200 + 8) = (208 200p
64) (192 200p
64) =
= (1) ( 1) = 4:42(1) 1
din tabel g asim
(1) = 0 :8413
De aici:
q= 1 p= 1 0:6826 = 0 :3174 = 31 :74%
Vom ^ ncerca s a d am o solutie folosind RStudio.
Tast am in linia de comand a:
>b=(208-200)/sqrt(64)
>a=(192-200)/sqrt(64)
>p=integrate(dnorm,a,b)
>p
0.6826895 with absolute error < 7.6e-15
>q=(1-p);
0.3174
6.6. EXEMPLE 209
Exemplul 36 Acela si exemplu cu o tolerant a de 10 Ω?
Solut ie
Tolerant a nu mai este un multiplu de ;dar problema revine la
calculul ariei situat a sub curb a ^ ntre:
x1= 200 10; x2= 200 + 10
adic a:
P(x1< X < x 2) = (1 :25) ( 1:25)
= 2(1 :25) 1
deoarece (1 :25) = 0 :8944)
q= 1 p= 1 0:7888 = 0 :2112
= 21 :12%
Vom ^ ncerca s a d am o solut ie folosind RStudio. Tast am in linia de
comand a:
>b=(210-200)/sqrt(64)
>a=(190-200)/sqrt(64)
>p=integrate(dnorm,a,b);
0.7887005 with absolute error < 8.8e-15
>q=(1-p);
0.2112
Observat ie 30 Acest num ar este mai mic dec^ at cel din exemplul an-
terior, deoarece tolerant ele controlului sunt mai mari.
Exemplul 37 [1, pag 17]Dintr-un lot ce cont ine 15 tranzistoare: 10
sunt bune, iar restul sunt defecte. Se fac sase extrageri pun^ andu-se de
ecare dat a tranzistorul extras ^ napoi.
a)S a se determine funct ia de repartitie a variabilei care d a num arul
de tranzistori extra si.
b)Acea si problem a dac a tranzistorul extras nu se pune ^ napoi.
210 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Solut ie
a)Probabilit at ile variabilei Xce reprezint a num arul de tranzistori
extra si se pot determina cu ajutorul schemei binomiale, deci:
X:(0 1 2 ::: 6
1
36C1
62
3(1
3)5C2
6(2
3)2(1
3)4:::(2
3)6)
Prin denit ie:
F(x) =P(X < x ) =∑
k<xP(X=k)
Atunci:
F(x) =8
>>>>>>>>>>>><
>>>>>>>>>>>>:0 x0
1
36 0< x1
1
361∑
k=0Ck
62k1< x2
::: :::
1
365∑
k=0Ck
62k5< x6
1; x > 6
Solut ie
b) Folosim schema hipergeometrica deci:
X:(
1 2 ::: 6
C1
10
C6
15C2
10C4
5
C6
15:::C0
5
C6
15)
si
6.6. EXEMPLE 211
F(x) =8
>>>>>>>>>>>>><
>>>>>>>>>>>>>:0 x1
C1
10
C6
151< x2
1
C6
152∑
k=1Ck
10C6 k
5 2< x3
::: :::
1
C6
155∑
k=0Ck
6C6 k
5 5< x6
1; x > 6
Vom ^ ncerca s a rezolv am problema folosind RStudio.
> m <- 15; n <- 10; k <- 6
> x <- 0:(k+1)
> rbind(phyper(x, m, n, k), dhyper(x, m, n, k))
[,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
[1,] 0.001185771 0.02252964 0.1470356 0.4553360
0.8021739 0.9717391 1.00000000 1
[2,] 0.001185771 0.02134387 0.1245059 0.3083004
0.3468379 0.1695652 0.02826087 0
> all(phyper(x, m, n, k) == cumsum(dhyper(x, m, n, k)))
[1] FALSE
> signif(phyper(x, m, n, k) – cumsum(dhyper(x, m, n, k)),
digits = 3)
[1] 0.00e+00 0.00e+00 5.55e-17 -1.11e-16 0.00e+00
0.00e+00 0.00e+00 0.00e+00
Exemplul 38 Din 20 de microprocesoare 15 au trecut testul de redundant a.
Sunt alese la ^ nt^ amplare 10 microprocesoare si se cere probabilitatea
ca:
a) dintre acestea 6 au trecut testul,
b) toate cele 10 microprocesoare analizate au trecut testul.
212 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Solut ie
a)Aplic am schema hipergeometric a, atunci probabilitatea cerut a
est_ e:
C6
15C4
5
C10
20= 0:13544
Se poate folosii funct ia choose () dinRSudio pentru calculul com-
bin arilor.
D am o solut ie folosind RStudio:
> m=choose(15,6)
> n=choose(5,4)
> p=choose(20,10)
> (m*n)/p
[1] 0.135448
b)Folosind din nou schema hipergeometric a
C10
15
C10
20= 0:0162
> m=choose(15,10)
> n=choose(20,10)
> m/n
[1] 0.01625387
Exemplul 39 Dintr-un lot de 200 de condensatoare, 10 sunt defecte,
iar din alt lot de 150 de condensatoare 7 sunt defecte. Se iau la
^ nt^ amplare 20 piese din unul din aceste loturi. Care este probabili-
tatea ca dintre condensatoarele alese s a e 18 bune si dou a defecte?
Solut ie
Fie A evenimentul ca piesele s a e luate din primul lot, Aevenimentul
ca piesele s a e luate din lotul doi si B evenimentul ca din cele 20 de
6.6. EXEMPLE 213
condensatoare 18 sa e bune si dou a defecte. Folosim formula proba-
bilit at ilor totale
P(B) =P(A)P(B=A) +P(A)P(B=A)
Observ am ca
P(A) =P(A) = 1 =2
P(B=A) este probabilitatea ca lu^ and 20 condensatoare din primul
lot 18 s a e bune si dou a defecte si conform schemei hipergeometrice
p1=P(B=A) =C10
190C2
10
C20
200
^In mod analog
p2=P(B=A) =C18
143C2
7
C20
150
si
p3=P(B) =P(A)(P(B=A) +P(B=A))
Deoarece calculele sunt prea complicate vom apela din nou la me-
diul RStudio si tast am ^ n linia de comand a:
> p1=(choose(190,10)*choose(10,2))/choose(200,20)#P(B/A)
> p2=(choose(143,18)*choose(7,2))/choose(150,20)# P(B/non A)$
> p3=1/2*(p1+p2);# P(B)unde P(A)=1/2
> p3
[1] 0.09245923
Exemplul 40 Efectu^ and o ^ ncercare exhaustiv a asupra a 10 fotodiode
s-au obt inut urm atoarele momente de defectare exprimate ^ n ore:
105 295 388 422 557 679 777 890 948 1000
a) Folosind RStudio, s a se identice legea de distribut ie a timpului
de funct ionare.
214 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
b) S a se calculeze parametrii legii. Folosind testul Kolmogorov-
Smirnov s a se verice, dac a distribut ia select iei este conform a cu
distribut ia normal a.
Solut ie
Scriptul fotodiode.r va contine urmatoarele linii:
foto<-c(105, 295, 388, 422, 557, 679, 777, 890, 948, 1000)
hist(foto,breaks=20)
hist(foto,freq=FALSE)
lines(density(foto))
mean(foto)
sd(foto)
t.test(foto,mu=550)
summary(foto)
w=hist(foto)
y=rnorm(10,mean=606.1,sd=301.649)
summary(y)
sd(y)
windows()
qqplot(foto,y,main="QQplot pentru doua selectii",pch="+",
xlab="foto=runif(100)",ylab="y=rnorm(100,mean=606.1")
z=ks.test(foto,y)
z
Se obt in rezultatele:
Two-sample Kolmogorov-Smirnov test
data: foto and y
D = 0.3, p-value = 0.7869
alternative hypothesis: two-sided
Dup a execut ia scriptului se obt in gracele (6.3):
6.6. EXEMPLE 215
Figura 6.3: Exemplu fotodiode
216 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Exemplul 41 [23, pag 97] Se consider a un set de 200 de componente
electronice de acelasi tip si se testeaz a durata lor de viat a. Se pre-
supune ca durata de viat a urmeaz a legea exponent ial a de parametru
alpha=700. S a se verice ipoteza nul a H 0: F=F fexp,700 g^ n raport
cu alternativa H 1: F̸=Ffexp,700 g, unde F fexp,alpha geste funct ia
de repartit ie exponent ial a de parametru alpha.
Solut ie 5 Datele sunt memorate ^ ntr-un sier excel: datecol.xlsx
care cont ine 200 de ^ nregistr ari pe care-l ^ l import am ^ n RStudio astfel:
Alegem din environment opt iunea import data set from excel.
Vom face vericarea folosind odat a testul Kolmogorov-Smirnov si
apoi testul Chi p atrat.
Codul RStudio este:
#import date
library(lattice)
library(readxl)
path.expand("~/R")
setwd("C:/Users/DANIEL/Documents/R")
datecol <- read_excel("datecol.xlsx")
xx<-t(datecol)
F5<-ecdf(xx);
xs<-sort(xx);
#grafic ecdf si functie de repartitie
par(mfrow=c(1,3))
plot(xs,pexp(xs,1/700),type="l")
title(main="Grafic ecdf")
grid(20,20,col="red")
curve(F5,add=T,col="red")
title(main="Functie de repartitie")
grid(20,20,col="blue")
#Kolmogorov
6.6. EXEMPLE 217
ks.test(xx,"pexp",1/700);
#Hi – patrat
#densitatile observate, 15 clase
HH=hist(xx,15);
#densitatile teoretice
dd<-diff(pexp(HH$breaks,1/700));
chisq.test(HH$density,dd)
Dup a execut ie apar urm atoarele rezultate:
>ks.test(xx,"pexp",1/700);
One-sample Kolmogorov-Smirnov test
data: xx
D = 0.038132, p-value = 0.9332
alternative hypothesis: two-sided
> chisq.test(HH$density,dd)
Pearson's Chi-squared test
data: HH$density and dd
X-squared = 40, df = 35, p-value = 0.2578
^In ambele situat ii se accept a ipoteza nul a.
Gracele sunt prezentate ^ n gura (6.4):
218 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Figura 6.4: Test Kolmogorov + 2
Exemplul 42 Se experimenteaz a trei prototipuri de televizoare cu
plasm a (Philips, Samsung, Sharp) si se cunosc probabilit at ile ca
prototipurile s a corespund a sunt respectiv:
p1= 0:9; p2= 0:8; p3= 0:85
S a se scrie repartit ia v.a Xcare ia valori num arul de prototipuri
care corespund. Lu^ and la ^ nt^ amplare c^ ate o plasm a din ecare
prototip se cere probabilitatea ca dou a s a corespund a?
Solut ie
V.AXpoate lua valorile 0,1,2,3. Pentru calculul probabilit at ilor
corespunz atoare folosim schema lui Poisson. Calcul am coecient ii lui
t0; t1; t2; t3din polinomul
P(t) = (0 :9t+ 0:1)(0:8t+ 0:2)(0:85t+ 0:15)
6.6. EXEMPLE 219
Deci repartit ia v.a Xeste
X:(0 1 2 3
0:003 0 :56 0 :329 0 :612)
Probabilitatea ca dou a s a corespund a este coecientul lui t2;deci
p= 0:329:
Vom ^ ncerca s a d am o solut ie folosind RStudio:
> library(polynom)
> p1<-polynomial(c(0.1,0.9))
> p1
0.1 + 0.9*x
> p2<-polynomial(c(0.15,0.85))
> p2
0.15 + 0.85*x
> p3<-polynomial(c(0.2,0.8))
> p3
0.2 + 0.8*x
> p<-p1*p2*p3
> p
0.003 + 0.056*x + 0.329*x^2 + 0.612*x^3
> r<-as.vector(p)#coef lui p in ordine crescatoare
> r
[1] 0.003 0.056 0.329 0.612
> m<- matrix(c(0,1,2,3,r),nrow=2,ncol = 4, byrow = TRUE)
> m
[,1] [,2] [,3] [,4]
[1,] 0.000 1.000 2.000 3.000
[2,] 0.003 0.056 0.329 0.612
> s<-m[2,3]
> s
[1] 0.329
220 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
Exemplul 43 La controlul la recept ie a 4 loturi de 100 table de inox
provenite de la trei furnizori diferit i au trecut testul:
control ultrasunete 85939690
control pulberi magnetice 88899295
control RX 99908283
Folosind modelul liniar general Anova s a se verice ipoteza nul a.
Solut ie.
^In linia de comand a tast am:
> #ANOVA example with linear model
> table.res<-c(85, 93,96,90,
+ 88, 89,92,95,
+ 99, 90,82,83);
> f <- c("A", "B", "C", "D"); # treatment levels
> k <- 4; # number of treatment levels
> n <- 3; # number of control blocks
> #
> tm <- gl(k, 1, n*k, factor(f)) # matching treatment
> blk = gl(n, k, k*n) # blocking factor
> tm
[1] A B C D A B C D A B C D
Levels: A B C D
> blk
[1] 1 1 1 1 2 2 2 2 3 3 3 3
Levels: 1 2 3
> av <- aov(table.res ~ tm + blk)
> summary(av)
Df Sum Sq Mean Sq F value Pr(>F)
tm 3 3.67 1.22 0.026 0.994
blk 2 16.67 8.33 0.180 0.839
Residuals 6 277.33 46.22
6.6. EXEMPLE 221
> coef(av)
(Intercept) tmB tmC tmD
9.150000e+01 7.019071e-15 -6.666667e-01 -1.333333e+00
blk2 blk3
5.078044e-15 -2.500000e+00
> X<-model.matrix(av); Y<-table.res;
> bhat<-solve(t(X)%*%X,t(X)%*%Y); bhat
[,1]
(Intercept) 9.150000e+01
tmB 1.233581e-17
tmC -6.666667e-01
tmD -1.333333e+00
blk2 1.539044e-14
blk3 -2.500000e+00
> SSE.c<-t(Y)%*%Y-t(bhat)%*%t(X)%*%Y; SSE.c
[,1]
[1,] 277.3333
> Xr<-X[,c(1,5,6)]
> betar<-solve(t(Xr)%*%Xr,t(Xr)%*%Y); betar
[,1]
(Intercept) 9.100000e+01
blk2 1.539044e-14
blk3 -2.500000e+00
> SSE.r<-t(Y)%*%Y-t(betar)%*%t(Xr)%*%Y; SSE.r
[,1]
[1,] 281
> nn<-k*n; kk<-5; g<-2
> F<-((SSE.r-SSE.c)/(kk-g))/(SSE.c/(nn-(kk+1))); F
[,1]
[1,] 0.02644231
> pf(F,3,6,lower.tail=FALSE)
[,1]
222 CAPITOLUL 6. STUDIUL CALIT AT II PRODUSELOR
[1,] 0.9935805
Concluzion am c a se accept a ipoteza nul a, adic a valorile medii ale
celor patru loturi nu difer a semnicativ.
Capitolul 7
Fiabilitatea sistemelor
Denit ie 41 [22] Fiabilitatea unui produs reprezint a din punct de ve-
dere calitativ proprietatea acestuia de a- si conserva performant ele ^ n
limitele stabilite ^ ntr-un interval de timp si ^ n condit iile specicate.
Cantitativ abilitatea este descris a de un ansamblu de indicatori
cu ajutorul c arora se poate prevedea comportarea produsului P^ n
condit ii date, respectiv se poate anticipa momentul defect arii sale.
7.1 Indicatori de abilitate
Indicatorii de abilitate sunt m arimi care exprim a, sub o form a
sau alta, calitativ si cantitativ, abilitatea produselor; indicatorii de
abilitate mai sunt denumit i si parametri sau caracteristici de abili-
tate.
Defectarea trebuie^ nt eleas a ca dep a sirea limitelor prescrise de c atre
cel put in una din performant ele produsului (sistemului), ele constitu-
ind criterii de defectare.
Previziunile date de teoria indicatorilor de abilitate nu pot de-
terministe deoarece procesele de degradare sunt in
uent ate de o mul-
223
224 CAPITOLUL 7. FIABILITATEA SISTEMELOR
titudine de factori incomplet cunoscut i De aceea modelul matematic
al abilit at ii se bazeaz a pe teoria probabilit at ilor si statistic a mate-
matic a.
Se consider a c a timpul de funt ionare al unui produs de la pune-
rea ^ n funct iune p^ n a la defectare este o variabil a aleatoare continu a.
FieTdurata de funct ionare p^ an a la defectarea produsului (sistemu-
lui) si F(t) funct ia de repartit ie a acestei variabile aleatoare continui.
Funct iile si caracteristicile numerice asociate acestei variabile aleatoare
vor considerate indicatori de abilitate.
7.1.1 Probabilitatea de bun a funct ionare R(t)
Aceast a probabilitate care mai este cunoscut a ca funct ia de a-
bilitate se dene ste astfel:
R(t) =p(t) =P(Tt) (7.1)
unde p(t) – este probabilitatea ca ^ n intervalul (0 ; t) s a nu se produc a
defectarea sistemului, adic a ^ ns a si funct ia de abilitate; t- variabila
timp; T- o limita precizat a a duratei de bun a funct ionare.
Ca orice probabilitate se ^ nt elege c a si funct ia de abilitate va
^ ndeplini condit ia:
0< p(t)<1 (7.2)
adic a: la t= 0; p(t) = 1 ceea ce ^ nseamn a ca produsul este ^ n stare
de funct ionare la momentul ^ nceperii exploat arii, iar apoi scade dup a
o anumit a lege p^ an a la p(t) = 0, teoretic la t=1;c^ and produsul se
a
a ^ n stare de nefunct ionare. Adic a:
R(t; t+x) =R(t+x)
R(t)
Pentru determinarea experimental a a funct iei de abilitate R(ti),
se urm are ste de-a lungul unei perioade de timp ti;o populat ie statistic a
7.1. INDICATORI DE FIABILITATE 225
format a din N0produse identice num ar^ andu-se cele nproduse defecte:
bR(ti) =N0 n
N0(7.3)
7.1.2 Probabilitatea de defectare F(t)
Probabilitatea de defectare, sau funct ia de repartit ie a duratei de
funct ionare F(t) se dene ste astfel:
F(t+x) F(t) =P(tTt+x) (7.4)
si reprezint a probabilitatea complementar a^ n raport cu R(t);put^ andu-
se scrie relat ia:
R(t) +F(t) = 1
Probabilitatea este o probabilitate total a la defectare. Dar ^ n realitate
sistemul se poate defecta^ n intervalul ( t; t+x) numai dac a s-a defectat
^ n intervalul (0 ; t):Astfel ^ nc^ at probabilitatea de defectare ^ n intervalul
(t; t+x); F(t; t+x) este o probabilitate condit ionat a de faptul c a la
momentul tsistemul este ^ n stare de bun a funct ionare. Deci putem
scrie relat ia:
F(t; t+x) =P(tT < t +x)
P(Tt)=F(t+x) F(t)
1 F(t)
Pentru determinarea pe cale experimental a a indicatorului F(t) se
procedeaz a astfel:
bF(ti) = 1 bR(ti) =n
N0(7.5)
Observat ie 31 At^ at funct ia F(t)c^ at si R(t)se refer a la evenimente
se produc sau nu, ^ n intervalul de timp scurs de la punerea ^ n funct iune
t= 0;p^ an a la momentul t si nu la evenimente evenimente care au loc
^ n momentul t;a sa cum s-ar l asa s a se ^ nt eleag a notat iile R(t); F(t):
226 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Observat ie 32 ^In afara funct iilor prezentate, abilitatea unui sistem
poate descris a si prin caracteristicile numerice ale variabilei alea-
toare care a stat la baza denirii funct iilor de abilitate si anume tim-
pul de funct ionare p^ an a la defectare. Aceste caracteristici numerice
sunt: media, abaterea medie p atratic a, dispersia si cuantila timpului
de funct ionare.
7.1.3 Cuantila timpului de funct ionare
Denit ie 42 Cuantila timpului de funct ionare (t F) este timpul t F
^ n care un produs funct ioneaz a cu probabilitatea 1 F, se nume ste
cuantila timpului de funct ionare:
P(ttF) =F (7.6)
Acest indicator poate interpretat ca timp de garant ie, adic a timp
^ n care proport ia de elemente defectate dintr-o anumit a colectivitate
nu dep a se ste o valoare prestabilit a :
Dac a durata misiunii sistemului nu este precizat a, dar se impune
un anumit nivel al abilit at ii, cel mai adecvat indicator este cuantila
timpului de funct ionare.
Cu toate acestea, nu trebuie s a se ^ nt eleag a c a abilitatea sistemu-
lui poate descris a satisf ac ator printr-un singur indicator. Mai mult,
atunci c^ and compar am dou a sisteme, indicatorii de abilitate pot
contradictorii, astfel ^ nc^ at decizia va trebui bazat a pe ^ ntregul set de
indicatori.
7.1.4 Densitatea de probabilitate a c aderilor f(t)
Comportarea produsului ^ n jurul unui moment dat este descris a de
densitatea de probabilitate a timpului de bun a funct ionare,
7.1. INDICATORI DE FIABILITATE 227
f(t) si ea reprezint a probabilitatea total a de defectare ^ n jurul mo-
mentului t(indiferent, adic a necondit ionat de comportarea anterioar a
a produsului)
f(t) = lim
∆t!0F(t+ ∆t) F(t)
∆t=dF(t)
dt
Acest indicator, exprim a frecvent a relativ a a c aderilor ∆ ni, ^ ntr-
un interval de timp ∆ ti:
bf(ti) =∆ni
∆tiN0(7.7)
unde ∆ ni=N(t) N(t+ ∆t)
Reprezentarea grac a a funct iei de frecvent a se face pe baza date-
lor privind momentele de aparit ie a defectelor ^ n funct ie de legea de
distribut ie care guverneaz a procesul respectiv.
^Intre indicatorii de abilitate denit i p^ an a acum exist a urm atoarele
relat ii:
F(t) =t∫
0f(t)dt
R(t) = 1 t∫
0f(t)dt=1∫
tf(t)dt
7.1.5 Rata de defectare z(t)
Rata de defectare, sau intensitatea c aderilor, se dene ste prin relat ia:
z(t) = lim
∆t!0F(t+ ∆t) F(t)
∆tR(t)=f(t)
R(t)(7.8)
228 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Rezult a:
z(t) = 1
R(t)dR(t)
dt(7.9)
Integr^ and ecuat ia diferent ial a (7.9) cu condit ia init ial a R(0) = 1 ;
obt inem
R(t) = exp( t∫
0z(u)du) =e ∫t
0z(u)du
Acest indicator se poate determina experimental pentru un interval
de timp ∆ ti, ^ n funct ie de frecvent a absolut a a c aderilor ∆ ni:
bz(ti) =∆ni
∆tiN(7.10)
Dimensional, intensitatea c aderilor se exprima ^ n h 1:
Pentru foarte multe cazuri practice, funct ia z(t) se reprezint a sub
form a de "cad a de baie" . Se deosebesc trei zone ale gracului z(t):
-zona I , ^ n care se manifest a c aderile precoce, datorate unor cauze
ascunse si decient elor de control de fabricat ie, durata 0 t1numindu-
se si perioad a de rodaj;
-zona II , ^ n care se manifest a c aderile aleatorii, normale, repre-
zent^ and perioada de funct ionare normal a; ^ n acest interval de timp
(t1 t2), valoarea indicatorului z(t) r am^ an^ and aproape constant a;
-zona III , ^ n care se manifest a uzura sau ^ mb atr^ anirea materialelor
constructive ale produsului considerat .
Deci, intervalul 0 t2, reprezint a durata de viat a util a a pro-
dusului studiat.
^In concluzie putem scrie urm atoarele relat ii ^ ntre indicatorii de
7.1. INDICATORI DE FIABILITATE 229
abilitate:
F(t) = 1 R(t) =t∫
0f(u)du= 1 exp( t∫
0z(u)du)
f(t) =dF(t)
dt= dR(t)
dt=z(t) exp( t∫
0z(u)du)
z(t) =f(t)
1∫
tf(u)du
7.1.6 Media timpului de bun a funct ionare (MTBF)
Timpul mediu p^ an a la defectare, reprezint a media duratelor de
bun a funct ionare pentru populat ia statistic a ce a fost luat a^ n considerat ie.
Astfel din cele N0produse supuse observat iei, ecare prezint a o anu-
mit a durat a de funct ionare tfi:Media aritmetic a a acestor timpi este:
MTBF =N0∑
i=1tfi
N0(7.11)
Din punct de vedere dimensional, MTBF se exprim a ^ n ore.
Dac a funct ia de frecvent a f(t), este continu a atunci:
MTBF =1∫
0tf(t)dt= 1∫
0tdR(t) = tR(t)j1
0 (7.12)
230 CAPITOLUL 7. FIABILITATEA SISTEMELOR
si deoarece R(0) = 1 si R(1) = 0 ;rezult a
MTBF =1∫
0R(t)dt=1∫
0exp( t∫
0z(u)du)dt
^In cazul sistemelor reparabile MTBF poate interpretat at^ at ca
media timpului p^ an a la prima defectare MTTFF(Mean Time To
First Failure) c^ at si ca media timpului^ ntre defect ari MTBF(Mean
Time Between Failure). ^In acest ultim caz MTBF este unic a nu-
mai dac a sistemul revine la starea init ial a dup a ecare defectare. Altfel
valorile lui MTBF trebuie calculate folosind funct ii de abilitate di-
ferite ^ ntre defect ari. Este posibil ca dup a ecare defectare sistemul s a
revin a ^ n starea init ial a; ^ n acest caz MTTFF este egal cu MTBF .
O generalizare a mediei timpului de funct ionare este dat a de relat ia:
MTBF (t) =1∫
tR(u)du
R(t)
care reprezint a media timpului de funct ionare r amas p^ an a la defecta-
rea sistemului calculat din momentul ^ n care sistemul a atins v^ arsta t
MRL(Mean Rezidual Life).
7.1.7 Dispersia D si abaterea medie p atratic a
Dispersia Deste indicatorul care exprim a abaterea valorilor tim-
pilor de bun a funct ionare fat a de media aritmetic a a acestora:
D=1∫
0(t m)2f(t)dt (7.13)
7.2. FIABILITATE PREVIZIONAL A 231
Abaterea medie p atratic a ( ) exprim a ^ n ( h), gradul de ^ mpr a stiere
a timpilor de bun a funct ionare:
=vuut1
N0 1N0∑
i=1(ti m)2 (7.14)
7.1.8 Limitele indicatorilor de abilitate
^In mod curent, abilitatea produselor este exprimat a prin indica-
torul z(t) sau prin MTFB . Rata de defectare z(t) se exprim a de
obicei printr-un num ar x10 6, iar timpul mediu de bun a funct ionare
(MTBF) printr-un num ar yde ore.
Dac a se cunoa ste si legea de distribut ie f(t), atunci se pot deter-
mina si ceilalt i indicatori de abilitate. Totdeauna, pentru un anu-
mit timp de misiune t, probabilitatea de bun a funct ionare R(t) are
o valoare mai mic a dec^ at 1, iar z(t) are o valoare oric^ at de mic a dar
diferit a de zero. Nu exist a produs care s a prezinte z(t) = 0 si respectiv
R(t) = 1, pentru un timp de misiune tdat.
Un produs este cu at^ at mai bun, cu c^ at R(t) are o valoare mai
apropiat a de 1 si respectiv z(t) o valoare c^ at mai apropiat a de zero.
Nivele c^ at mai ridicate de abilitate, respectiv indicatori c^ at mai buni
^ n concept ia de mai sus, nu se pot realiza ^ n orice condit ii si nici
nu se justic a ^ n orice ^ mprejurare. Fiabilitate superioar a, ^ nseamn a
materiale si tehnologii perfect ionate, studii si ^ ncerc ari aprofundate
si ^ ndelungate, ^ n nal costuri mai ridicate. De aceea trebuie corelat
nivelul de abilitate cu cerint ele tehnico-economice.
7.2 Fiabilitate previzional a
Denit ie 43 Fiabilitatea previzional a – reprezint a abilitatea unui sis-
tem, exprimat a prin indicatori de abilitate, care au rezultat din calcu-
232 CAPITOLUL 7. FIABILITATEA SISTEMELOR
lele de prognoz a, efectuate pe baza abilit at ii elementelor componente
ale sistemului.
Acest tip de abilitate se poate determina ^ nc a din faza de proiect
prin analiza detailat a a structurii si componentei sistemului, ^ n situat ia
cunoa sterii prealabile a tuturor condit iilor de solicitare.
Calculul abilit at ii previzionale se face ^ n urm atoarele ipoteze:
i)defect iunile sunt independente si schema logic a de abilitate a sis-
temului este de tip serie;
ii)ratele de defectare ale elementelor componente sunt constante:
zi(t) =i:
Deci se impune ca, ^ nainte de a construi un produs complex, pe
parcursul proiect arii, s a se determine abilitatea previzional a a aces-
tuia, pentru a comparat a cu nivelul de abilitate impus init ial si
deci legea de distribut ie considerat a este cea negativ-exponent ial a.
Nivelul nominal de abilitate al elementelor componente, este cel
stabilit de produc ator conform sistemului de asigurare al calit at ii im-
pus de produs, ^ n condit ii de exploatare bine precizate. Dac a se cu-
noa ste si nivelul real al solicit arilor a steptate ^ n funct ionarea sistemu-
lui viitor, se pot determina coecient ii de corect ie Kc;i:Peste tot unde
vor rezulta coecient ii Kc;i>1, se va trece la reproiectarea elemen-
telor respective, astfel ^ nc^ at s a se asigure, pe c^ at posibil, pentru orice
component a, solut ia tehnic a Kc;i<1:
^In aceste condit ii, abilitatea ec arei componente a sistemului va
:
Ri(t) =e Kc;iit
7.2. FIABILITATE PREVIZIONAL A 233
7.2.1 Factori ce in
uent eaz a abilitatea
Ace stia sunt:
1.Gradul de complexitate al sistemului,
2.Redundant a,
3.Modul de conectare al elementelor redundante,
4.Regimul de lucru.
^In ceea ce prive ste regimul de lucru distingem:
a)Regimul intermitent ce se caracterizeaz a printr-o ^ nc arcare uni-
form a a sistemului,
b)Regimul de impulsuri ce in
uent eaz a at^ at prin form a c^ at si prin
succesiunea impulsurilor. ^In general, pentru rata de defectare se
poate scrie o relat ie de forma:
=iti
T+ptp
T+fNc
unde: ti- durata impulsului; tp- durata pauzei dintre dou a
impulsuri succesive; T- perioada impulsurilor; f- frecvent a de
repartit ie a impulsurilor; i- rata de defectare pe durata impul-
sului;
p- rata de defectare pe durata pauzei; Nc- num arul mediu de
defect ari pe un ciclu. Valorile lui i sipse determin a ^ n funct ie
de nivelul solicit arilor, iar Nc( depinde de o serie de factori, ^ n
primul r^ and de specicul solicit arii).
c)Regimului ciclic are o rat a de defectare:
=cont+(f)
unde feste num arul de cicluri/or a.
234 CAPITOLUL 7. FIABILITATEA SISTEMELOR
7.2.2 Studiul abilit at ii sistemelor prin metoda
arborilor de defectare
Metoda arborilor de defectare [18, pag 58-62] pentru studiul -
abilit at ii previzionale a sistemelor complexe, porne ste de la ideea c a
procesul de defectare poate cuanticat la nivel structural, astfel^ nc^ at
orice defect iune a sistemului este rezultatul unei secvent e cuanticate
de st ari ale procesului de defectare. Nivelul de cuanticare este ales de
analist, conform scopului urm arit si preciziei dorite, put^ andu-se merge
p^ an a la nivelul componentelor, rezultatele obt inute ind cu at^ at mai
apropiate de realitate cu c^ at nivelul de cuanticare va mai detaliat.
Din punct de vedere structural, arborele de defectare utilizeaz a
urm atoarele concepte:
1.Elementele primare – reprezint a componentele sau blocurile care
stau la nivelul de baz a al cuantic arii avariei sistemului;
2.Defect iunile primare – reprezint a defectele elementelor primare;
3.Evenimentul critic – reprezint a starea de defect a sistemului;
4.Modul de defectare – reprezint a setul de elemente defecte simul-
tan care scot din funct iune sistemul;
5.Modul minim de defectare – reprezint a setul cel mai mic de ele-
mente primare care ind defecte simultan, conduc la defectarea
sistemului;
6.Nivelul ierarhic – reprezint a totalitatea elementelor care sunt
echivalente structural si care ocupa pozit ii echivalente ^ n struc-
tura arborelui de defectare.
Metoda are la baz a logica binar a, prin care ^ n mod formal o funct ie
a sistemului este asimilat a unei funct ii binare, ale c arei variabile sunt
defect iunile primare si care este sintetizat a cu elemente NU, S I, SAU.
7.2. FIABILITATE PREVIZIONAL A 235
Pe baza analizei prin metoda arborelui de defectare, se poate obt ine
e probabilitatea de defectare, e rata de defectare:
a)Evaluarea probabilit at ii de defectare folose ste propriet at ile port ilor
logice: S I, SAU, INVERSOR.
b)Evaluarea intensit at ii de defectare ( s) se face pe baza ipotezei
c a defect arile elementelor componente sunt evenimente indepen-
dente si legea de defectare este de tip exponent ial ( z(t) ==
ct:).
Pentru a stabili valoarea ratei de defectare a sistemului, se porne ste
de la urm atoarele considerente:
– probabilitatea (A s a se defecteze ^ n intervalul (0 ; t) =P(A) =
FA(t);
– probabilitatea (B s a se defecteze ^ n intervalul 0 ; t) =P(B) =
FB(t);
7.2.3 Modelul proceselor MARKOV
Lant uri Markov
Un model Markov caracterizeaz a un sistem cu ajutorul a dou a vari-
abile aleatoare: starea sistemului si timpul de observare. Cum ecare
dintre aceste variabile aleatoare poate s a e continu a sau discret a, re-
zult a atunci patru tipuri de modele obt inute din combinat iile posibile
ale celor dou a variabile aleatoare.
Dac a modelul este cu stare discret a si timp discret se mai nume ste
silant Markov . Atunci c^ and sistemul are starea discret a si timpul
de observare este continuu, se obt ine un proces Markov . Acesta este
cazul cel mai important ^ n teoria abilit at ii.
Observat ie 33 ^In cazul ^ n care sistemul analizat are un num ar nit
sau num arabil de st ari, iar timpul de observare este continuu, se obt ine
236 CAPITOLUL 7. FIABILITATEA SISTEMELOR
unproces Markov. ^In aceast a situat ie, probabilitatea tranzit iei dintr-
o stare ^ n alta, la un moment dat este ^ ntotdeauna nul a. Deoarece
variabila aleatoare timp este continu a nu mai vorbim de probabilitatea
de tranzit ie, ci de densit at i ale probabilit at ii de tranzit ie.
O caracteristic a de baz a a oric arui model Markov este c a, dac a
sistemul se a
a ^ ntr-o anumit a stare la momnetul t0, atunci probabili-
tatea ca acesta s a se a
e ^ ntr-o alt a stare la momentul t > t 0, depinde
numai de starea prezent a (la momentul t0) si nu depinde de modul ^ n
care sistemul a ajuns ^ n aceast a stare.
^In cazul unui lant Markov, procesul stochastic poate descris prin
secvent a de st ari pe care o parcurge sistemul:
X(1); X(2); :::X (k)
unde X(k) reprezint a starea sistemului dup a k pa si (variabila alea-
toare discret a), iar argumentul reprezint a momentele discrete de timp
la care pot avea loc tranzit ii. Se consider a un sistem care poate avea
numai un num ar nit de st ari Si,i= 1:::n. Deci,
X(k)2 fSi=i= 1:::ng;8k2N
Se noteaz a cu p i(k) probabilitatea ca sistemul s a se a
e ^ n starea
Si, dup a exact k pa si, adic a:
pi(k) =P(X(k) =Si
Dup a kpa si, sistemul se a
a ^ n mod sigur ^ ntr-una din st arile
Si,i= 1:::n, deci:
n∑
i=1pi(k) = 1
unde probabilit at ile p i, i = 1…n, reprezint a probabilit at ile st arilor
si, ^ n general se cunosc valorile lor, p i(0), la momentul ^ nceperii proce-
sului. Astfel, de exemplu, dac a sistemul se a
a^ n starea S 3la^ nceputul
7.2. FIABILITATE PREVIZIONAL A 237
procesului, atunci:
p3(0) = 1 ; p1(0) = p2(0) = :::pn(0) = 0
Dac a not am cu p ijprobabilitatea ca sistemul s a treac a din starea i^ n
starea j. Dac a aceste probabilit at i nu depind de num arul de pa si
efectuat i anterior (sunt constante ^ n timp) si depind numai de starea
init ial a si de starea nal a, atunci lant ul se nume ste omogen.
pij=PfX(k) =Sj=X(k 1) = Sig
Aceste probabilit at i formeaz a o matrice n n, numit a matrice de
tranzit ie:
2
6664p11p12::: p 1n
p21p22::: p 2n
::: :::…:::
pn1pn2::: p nn3
7775
Matricea are proprietatea:
pi(k) =n∑
j=1pj(k 1)pij;i= 1; :::n
Probabilitatea ca sistemul s a parcurg a un anumit sir de st ari
Si0; Si1; :::S ik
este:
pfX(0) = Si0; X(1) = Si1; :::X (k) =Sikg=
=pi0(0)pi0i1pi1i2:::pik 1ik
^In general un lant Markov se reprezint a cu ajutorul unui graf orien-
tat ^ n care nodurile reprezint a st arile sistemului, iar arcele reprezint a
tranzit iile posibile de la o stare la alta.
238 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Fie un sistem coerent descris de funct ia de structur a φ(x1; x2; :::x n):
Dac a se asociaz a ec arui vector de stare ( x1; x2; :::x n) un num ar real
care s a indice sintetic starea unui sistem, se obt ine un proces aleator
discret w(t) cu urm atoarele propriet at i:
a)valorile particulare ale procesului formeaz a o mult ime nit a,
b)modic arile valorii w(t) se produc e prin defectarea, e prin
punerea ^ n funct iune a unui element al sistemului, evenimente
care se pot produce ^ ntr-un interval de timp ( t; t+∆t) innit mai
mic ^ n jurul unui moment oarecare t:Deci trecerile sistemului se
produc numai ^ ntre starile adiacente, care difer a ^ ntre ele prin
starea unui singur element.
c)dac a wijreprezint a o valoare particular a a procesului la un mo-
ment t0(w0reprezint a starea sistemului la momentul t0) atunci
probabilitatea ca sistemul s a se g aseasc a ^ ntr-o stare particular a
wdepinde de w0deoarece starea wse atinge prin tranzact ii dis-
crete de la starea w0:Aceast a probabilitate nu depinde ^ ns a de
st arile anterioare lui w0;traiectoria urmat a de sistem de la starea
w0la starea wind independent a de modul cum a juns sistemul
^ n starea w0^ naintea momentului t0 ,proprietate care se nume ste
absent a postact iunii.
Datorit a acestor propriet at i tragem concluzia c a evolut ia unor ast-
fel de sisteme poate modelat a de un proces Markov omogen cu
un num ar nit de st ari. Probabilit at ile de trecere din starea i ^ n
starea j pentru un lant Markov omogen sunt de forma:
pij(∆t) =ij+ ( 1)ijij+o(∆t)
Termenii o(∆t) pot considerat i nuli si nereprezentat i^ n graf, ei au
o contribut ie nul a la ecuat iile de stare ale lant ului, deci pot neglijat i
de la ^ nceput.
7.2. FIABILITATE PREVIZIONAL A 239
pij(∆t) =ij+ ( 1)ijij
ijsunt simbolurile lui Kronecker, iarijsunt coecient i pozitivi
sau nuli numit i intensit at i de trecere.
Concluzie 5 Dac a blocurile componente ale unui sistem au pentru
timpul de bun a funct ionare si respectiv pentru timpul de restabilire
repartit ii exponent iale ( sisunt constante );atunci coecient ii
sunt constant i si probabilit at ile de trecere de la o stare la alta nu depind
de timp, ci numai de l at imea intervalului ^ n care se face trecerea, adic a
sunt stat ionare, iar lant ul Markov este omogen si stat ionar.
Not am cu 0 starea init ial a a sistemului ^ n care toate blocurile sunt
^ n stare de bun a fuct ionare cu 0 ;1; :::n celelate st ari ale sistemului
(^ n care cel put in o component a este defect a, sistemul ^ ndeplinindu-
si corect sau nu funct iile) cu Pj(t) probabilitatea absolut a a st arii j
(probabilitatea necondit ionat a ca la momentul t sistemul s a se a
e ^ n
starea j) si cu pij() probabilitatea de trecere din starea i^ n starea
j^ n intervalul de timp :Deci conform formulei probabilit at ilor totale:
Pj(t+) =n∑
i=0Pi(t)pij(); j= 0;1; :::n (7.15)
Not^ and cu P(t) matricea probabilit at ilor absolute:
P(t) = [P0(t); P1(t); :::P(t)]
p() =2
66664p00p01p02:::p0n
p10p11p12:::p1n
p20p21p22:::p2n
::: ::: :::::::::
pn0pn1pn2:::pnn3
77775
240 CAPITOLUL 7. FIABILITATEA SISTEMELOR
sistemul poate scris matricial sub forma:
P(t+) =P(t)p()
Matricea p() se nume ste matricea stohastic a si are urm atoarele
propriet at i:
i)elementele matricei sunt probabilit at i (0 pij1)8i; j
ii)suma termenilor pe linie este egal a cu unitatea,
iii)pentru = 0 matricea devine matricea unitate.
Dac a sc adem ^ n ambii membrii matricea P(t) obt inem:
P(t+) P(t) = P(t)p() P(t)
P(t+) P(t) = P(t)[p() p(0)]
^Imp art ind ambii membrii cu si trec^ and la limit a pentru ! 1
rezult a relat ia matricial a:
dP(t)
dt=P(t)dp()
dt==0 (7.16)
unde suma termenilor pe linie ^ n matricea p′(0) este nul a.
Observat ie 34 Ecuat ia matricial a st a la baza studiului abilit at ii sis-
temelor, permit ^ and calculul oric arei probabilit at i de bun a funct ionare
sau defect, ^ n orice condit ii precizate.
Rezolvarea uni probleme de abilitate prin metoda lant urilor
Markov presupune parcurgerea urm atoarelor etape:
1.denirea not iunii de stare a sistemului si stabilirea tuturor st arilor
posibile,
7.2. FIABILITATE PREVIZIONAL A 241
2.scrierea matricei de trecere p(∆t) sip′(0);
3.rezolvarea sistemului de ecuat ii.
Etapa 1
Not iunea de stare trebuie astfel denit a ^ nc^ at st arile sistemului s a
satisfac a condit ia de dependent a markovian a. De asemenea trebuie
urm arit ca num arul total de st ari s a e c^ at mai mic pentru a avea
o tratare matematic a mai put in laborioas a. Practic, ^ n funct ie de
structura sistemului se folosesc trei moduri de denire a st arilor.
Modul I (modulul general)
Se consider a c a ecare bloc component are dou a st ari posibile: sta-
rea de bun a funct ionare si starea de defect. Dac a sistemul este compus
dinnblocuri independente num arul total de st ari ale sistemului va
2n:Aceste st ari pot u sor descrise cu nsimboluri ^ n cod binar, simbo-
lul 1 reprezint a atributul de bun a funct ionare a unui bloc si simbolul
0 st arii de defect.
Din mult imea celor 2nse elimin a st arile care nu au sens zic.
Modul II
Starea sistemului se dene ste prin num arul de blocuri defecte din
sistem. Astfel starea 0 va starea ^ n care nu exist a nici un bloc defect,
iar starea i^ n care exist a iblocuri defecte. Acest mod de denire are
sens si este util numai pentru sistemele formate din blocuri identice,
conectate abilistic ^ n paralel sau conectate ca ^ ntr-o schem a de tipul
rezerv arii cu multiplicitate.
Num arul total de st ari este cu o unitate mai mare dec^ at num arul
blocurilor din sistem, iar probabilit at ile elementare de trecere sunt
toate nule, cu except ia celor de forma:
pi;i 1;pi;i;pi;i+1
242 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Modul III
Acest mod de denire se folose ste numai ^ n cazul sistemelor av^ and
toate blocurile conectate abilistic ^ n serie. Starea 0 se dene ste ca
ind starea ^ n care toate blocurile funct ioneaz a, iar starea istarea
^ n care blocul av^ and num arul de ordine ieste defect si toate celelalte
blocuri sunt^ n stare de bun a funct ionare. Rezult a c a doar starea 0 este
de bun a funct ionare pentru sistem, iar celelate st ari sunt de defect.
Probabilit at ile elementare de trecere sunt toate nule cu except ia
pi;0; p0;i; pi:i
Etapa 2
^In aceast a etap a se scriu mai ^ nt^ ai probabilit at ile elementare de
trecere. Pentru orice mod de denire a st arilor, probabilitatea de a
r am^ ane ^ n starea ieste de forma:
pii(∆t) = 1 [p(d)
i+p(r)
i]
unde:
p(d)
ieste probabilitatea de a p ar asi starea iprin defectarea unui
bloc, adic a:
p(d)
i=∑
jj∆t
pentru toate valorile lui jcorespunz atoare blocurilor bune care mai
asigur a funct ionarea sistemului ^ n starea i.
p(r)
ieste probabilitatea de a p ar asii starea iprin restabilirea unui
bloc:
p(r)
i=∑
jj∆t
Dac a st arile sunt denite ^ n modul I si trecerea din starea i^ n
starea jse face prin defectarea blocului k, atunci probabilitatea de
7.2. FIABILITATE PREVIZIONAL A 243
trecere din starea i^ n starea jeste:
pji(∆t) =k∆t
iar probabilitatea de trecere din starea j^ n starea ieste :
pji(∆t) =k∆t
Dac a st arile unui sistem cu Nblocuri independente, av^ and acela si
si acela si sunt denite ^ n modul II, atunci trecerea din starea i^ n
starea i+ 1 se poate face prin defectarea oric arui bloc din cele N i
blocuri bune ^ n starea _i
pi;i+1(∆t) = (N 1)∆t
iar trecerea din starea i^ n starea i 1 se poate face prin repararea
oric arui bloc din cele idefecte (^ n cazul restabilirii nelimitate)
pi;i 1(∆t) =i∆t
^In cazul unui sistem compus din Nblocuri, folosind modelul III
de denire a st arilor si not^ and cu i siiintensit at ile de defectare si
respectiv de restabilire ale blocului i, rezult a:
8
>>>>>>><
>>>>>>>:p0i(∆t) =i∆t
pi0(∆t) =i∆t
p00(∆t) = 1 N∑
i=1i∆t
pii(∆t) = 1 i∆t; i̸= 0
pij(∆t) = 0 ;8j =2 f0;1g(7.17)
^In scrierea probabilit at ilor de trecere exist a dou a cazuri distincte:
a)restabilire nelimitat a ^ n care se consider a c a num arul celor care
repar a defectul este egal cu num arul maxim de blocuri defecte
ce pot apare.
244 CAPITOLUL 7. FIABILITATEA SISTEMELOR
b)restabilire limitat a ^ n care num arul celor care repar a defectul
este mai mic dec^ at num arul maxim de blocuri defecte ce pot
apare. ^In acest caz pentru st arile ce cont in mai mult de un singur
defect trebuie precizat a prioritatea de restabilire a blocurilor.
Etapa 3
Se rezolv a sistemul (7.16) completat cu condit ii init iale:
n∑
i=1Pi(t) = 1
Pj(0) = Aj(0sau1)
Distingem dou a cazuri:
1.S tim apriori c a sistemul este ergodic (pentru un t! 1 pro-
babilit at ile P(t) tind c atre o valoare constant a independent a de
timp si de starea init ial a) si ne intereseaz a, doar solut ia de regim
stat ionar. ^In acest caz
lim
t!1P′(t) = 0
si sistemul se reduce
8
><
>:P(t)p′(0) = 0
n∑
j=1Pj(t) = 1
sistem care este compatibil av^ and n+ 2 ecuat ii si n+ 1 necu-
noscute ale c arei solut ii nu depind de timp.
2.^In acest caz, intereseaz a solut ia general a (compus a din cea de
regim tranzitoriu si cea de regim permanent). Pentru rezolvare
7.2. FIABILITATE PREVIZIONAL A 245
folosim transformata Laplace
p(∆t) =2
666641 00∆t01∆t 02∆t::: 0n∆t
10∆t 1 11∆t12∆t::: 1n∆t
20∆t 21∆t 1 22∆t::: 2n∆t
::: ::: ::: ::: :::
n0∆t n1∆t n2∆t:::1 nn∆t3
77775
p′(0) =2
666640001 02:::0n
10 1112:::1n
2021 22:::2n
::: ::: ::: ::: :::
n0n1n2::: nn3
77775; ii=n∑
j=0ij
Not^ and cu Pi(s) transformata Laplace a lui Pi(t);adic a:
Pj(s) =1∫
0e stPj(t)dt=$Pj(t)
stiind c a:
$P′
j(t) =sPj(s) Pj(0)
si consider^ and c a init ial sistemul se a
a ^ n starea 0 cu urm atoarele
condit ii init iale:
P0(0) = 1 ; Pj(0) = 1 ; j= 1;2; :::; n
sistemul de ecuat ii devine:
1 = (00+s)P0(s) +:::+j0Pj(s) +:::+n0Pn(s)(7.18)
:::
0 = 0jP0(s) +::: (jj+s)Pj(s) +:::+njPj(s)
:::
0 = 0nP0(s) +:::+jnPj(s) +::: (nn+s)Pn(s)
246 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Determinantul sistemului (7.18) este un determinant de ordin n+1
care dezvoltat ne d a un polinom^ n sde ordinul n+1 pe care-l not am cu
D(s):Dac a not am cu Dj(s) determinantul principal ^ nlocuind coloana
jcu coloana termenilor liberi, atunci obt inem solut iile:
Pj(s) =Dj(s)
D(s)
Pj(t) = $ 1[Pj(s)]
Observ am c a D(s) se poate scrie direct din matricea p′(0) in-
vers^ and liniile cu coloanele si sc az^ and pe diagonala principal a variabila
s:Se observ a si c a ^ n coloana termenilor liberi tot i termenii sunt nuli
cu except ia celui corespunz ator st arii init iale, care are valoarea 1.
Dac a schimb am condit iile init iale se schimb a si coloana termenilor li-
beri si deci Dj(s) a sadar se obt ine alt a expresie pentru Pj(t):Pentru a
specica ^ n ce condit ii init iale s-a obt inut si este valabil a expresia lui
Pj(t) se mai adaug a un indice care arat a starea init ial a.
Dac a D(s) are r ad acinile reale s0; s1; :::s natunci el se poate scrie
sub form_ a:
D(s) = ( s+s0)(s+s1):::(s+sn) (7.19)
Pj(t) =n∑
k=0Ajke skt
unde Ajksunt ni ste constante ce se obt in din transformarea invers a.
Probabilitatea ca sistemul s a se a
e ^ n starea jla un moment dat
este de forma relat iei (7.19). ^In funct ie de valorile lui skse deosebesc
dou a cazuri:
1.Dac a sk̸= 0 pentru 8k= 0;1; :::n rezult a c a nu se ajunge ^ n
regim stat ionar niciodat a, adic a procesul respectiv nu este ergo-
dic.
7.2. FIABILITATE PREVIZIONAL A 247
2.Dac a exist a sk= 0;atunci procesul devine ergodic, deoarece
pentru t! 1 ; Pj(t)!Ajk:^Intr-adev ar e s0= 0 rezult a:
Pj(t) =Pj0+n∑
k=0Ajke skt
unde
Pj0=Aj0= constant
La nivel global sistemul este descris de un proces Markov cu dou a
st ari:
1.starea 0 corespunde st arii de bun a funct ionare a sistemului
2.starea 1 reprezint a starea de defectare .
Tranzit ia din starea 0 ^ n starea 1 se produce ^ n intervalul ( t; t+∆t)
cu probabilitatea
z(t)∆t
z(t) reprezint a probabilitatea de defectare a sistemului.
Analiza cantitativ a a abilit at ii implic a^ n prima etap a cunoa sterea
procesului Markov respectiv a probabilit at ilor st arilor sistemului. Pen-
tru aceasta scriem ecuat ia cu diferent e nite
P0(t+ ∆t) =P0(t)(1 z(t)∆t)
Aceasta se transform a ^ n ecuat ia diferent ial a
dP0(t)
dt= z(t)P0(t)
P0(0) = 1
248 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Se obt ine solut ia:
P0(t) = exp( t∫
0z(u)du
Dac a se presupune c a sistemul se poate re^ nnoi, atunci c^ and se de-
fecteaz a si c a durata de re^ nnoire e o variabil a aleatoare distribuit a
dup a o lege oarecare av^ and rata de ^ nnoire (t);atunci sistemul poate
revenii din starea 1 ^ n starea 0 cu probabilitatea (t)∆t:Probabi-
lit at ile care caracterizeaz a procesul Markov se calculeaz a din sistemul
de ecuat ii:
P0(t+ ∆t) = P0(t)(1 z(t)∆t) +P1(t)(t)∆t:
P0(t) +P1(t) = 1
Rezult a:
dP0(t)
dt= (z(t) +(t))P0(t) +(t)
Rezolvarea ecuat iei pentru cazul general:
P0(t) = exp( t∫
0(z() +())d) +t∫
0exp( ∫
0(z() +())d)()d
este dicil a, de aceea se consider a cazul particular ^ n care at^ at durata
de funct ionare c^ at si durata de reparare sunt distribuite exponent ial
z(t) =
(t) =
Ipoteza privind constant a ratelor de defectare si de re^ nnoire restr^ ange
aplicabilitatea modelului de analiz a global a a sistemelor f ar a uzur a la
careprobabilitatea de punere ^ n funct iune a sistemului stiind
7.2. FIABILITATE PREVIZIONAL A 249
c a este mereu aceea si indiferent de durata scurs a de la intrarea ^ n
reparare.
^In aceste condit ii consider^ andu-se starea 0 ca stare init ial a:
P0(t) =
++
+exp( (+)t)
Expresia reprezint a probabilitatea ca sistemul s a e ^ n bun a stare
la momentul tadic a disponibilitatea sistemului. Acest rezultat este
valabil doar ^ n cazuri particulare spre deosebire de disponibilitatea
calculat a pe baza teoriei proceselor de re^ nnoire alternat a [30, pp. 107-
122].
Fie un sistem descris de un model logic de tip serie format din n
elemente cu rate de defectare si re^ nnoire constante si egale respectiv
i sii; i= 1;2; :::n:
Duratele medii de funct ionare si de re^ nnoire ale elementelor sunt:
m1i=1
i;m2i=1
i; i= 1;2; :::n
Analiza abilit at ii sistemului cuprinde dou a etape:
1.Se calculeaz a indicatorii generali de abilitate, respectiv funct ia
de abilitate si media timpului de funct ionare;
2.Se calculeaz a indicatorii specici sistemelor cu re^ nnoire, respec-
tiv funct iile si densit at ile de re^ nnoire, disponibilitatea si funct ia
de abilitate ^ n interval.
S=n∑
i=1i
mi=1
S
250 CAPITOLUL 7. FIABILITATEA SISTEMELOR
^In prima etap a intereseaz a comportarea sistemului p^ an a la defec-
tare; se ignor a posibilit at ile de re^ nnoire din starea de defectare ^ n
stare de bun a funct ionare
P0(t+ ∆t) =P0(t)[1 S∆t)
dP0(t)
dt=SP0(t)
Rezult a:
P0(t) = exp( t∫
0Sdu) = exp( St)
Sistemul ind presupus f ar a re^ nnoire P0(t) reprezint a funct ia de
abilitate .
^In a doua etap a de analiz a a abilit at ii sistemului trebuie s a t inem
seama de posibilit at ile de revenire ale sistemului din st arile de defec-
tare.
Probabilit at ile st arilor procesului se determin a cu ajutorul siste-
mului de ecuat ii cu diferent e nite:
Pi(t+ ∆t) =P0(t)∆t+Pi(t)(1 i∆t); i= 1;2; :::n
la care se adaug a relat ia:
P0(t) +n∑
i=1Pi(t) = 1
Rezult a
dPi(t)
dt= iPi(t) +iP0(t)
7.2. FIABILITATE PREVIZIONAL A 251
Presupun^ and condit ia init ial a P0(0) = 1 si utiliz^ and transformata
Laplace, rezult a
n∑
i=1Pi(s) =1
S P0(s) =n∑
i=1i
s+iP0(s)
Rezult a P0(s) care este transformata Laplace a disponibilit at ii sis-
temului.
Rezult a transform arile Laplace a probabilit at ilor st arilor de defec-
tare:
Pj(s) =j
s+jP0(s) =
=j
s+j
s(1 +n∑
i=1i
s+i)
Probabilitatea Pi(t) reprezint a indisponibilitatea sistemului da-
torit a elementului j.
Valoarea ei asimptotic a este:
lim
t!1Pj(t) = lim
t!1sPj(s) =
=j
j
1 +n∑
i=1i
i=
=m2j
m1j
1 +n∑
i=1m2i
m1i
Concluzie 6 Un lant Markov este convenabil s a e reprezentat sub
forma unui graf orientat, ^ n care nodurile reprezint a st arile sistemului,
iar arcele reprezint a tranzit iile posibile de la o stare la alta.
252 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Procese Markov de parametru continuu [1, pag 152-153]
Fiex2Rstarea sistemului la momentul t si e Ao mult ime de
st ari ale sistemului. Not am cu p(t; x; ; A ) probabilitatea ca sistemul
care a fost la mmentul t^ n starea xs a treac a la momentul > t ^ n
una din st arile mult imii
p(t; x; ; A ) =P(X()< y=X (t) =x) (7.20)
Presupunem c a funct ia (7.20) este denit a pentru > t si c a are
propriet at ile:
1.este o funct ie de repartit ie ^ n raport cu y;
2.este continu a ^ n raport cu t; ;
3.este integrabil a ^ n raport cu x;
4.
lim
!t+0F(t; x; ; y ) = lim
!t 0F(t; x; ; y ) =
=(x; y) ={1; x=y
0; x̸=y
S tim :
P(A) =∫
R(P(A)=X=x)dF(x)
iar dac a B2K siFB(x) este funct ia de repartit ie a v.a. X
condit ionat a de mult imea B:
P(A=B) =∫
R(P(A)=B\X=x)dFB(x)
7.2. FIABILITATE PREVIZIONAL A 253
Fie momentele t < s < si dac a not am:
A=fX()< yg;
B=fX(t) =xg
din relat ia (7.20) obt inem:
P(X()< y=X (t) =x) =
=∫
RP[X()< y=X (t) =x; X(s) =z]dzP[X(s)< z=X (t) =x)
Deoarece avem un proces Markov:
P[X()< y=X (t) =x] =P[X()< y=X (s)< z]
deci:
P[X()< y=X (t) =x] =
=∫
RP[X()< y=X (s)< z]dzP[X(s)< z=X (t) =x)
sau
F(t; x; ; y ) =∫
RF(t; x; ; y )dzF(t; x; ; y ) (7.21)
Relat ia (7.21) reprezint a generalizarea relat iei Chapman-Kolmogorov
^ n cazul proceselor Markov.
Dac a densitatea de trecere
f(t; x; ; y ) =@
@yF(t; x; ; y )
aceasta va ^ ndeplinii condit iile:
f(t; x; ; y )0;∫
Rf(t; x; ; y )dy= 1
F(t; x; ; y ) =∫
Rf(t; x; ; z )dz
254 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Relat ia Chapman-Kolmogorov devine:
f(t; x; ; y ) =
=∫
Rf(t; x; s; z )f(s; z; ; y )dz
Procesul Markov este stat ionar (sau temporal omgen), dac a funct ia
de trecere F(t; x; ; y ) nu depinde de momentele ^ n care se realizaz a
trecerea, ci doar de lungimea intervalului de timp, deci este F(
t; x; ; y ):Dac a funct ia de trecere depinde doar de t; siy xatunci
procesul se nume ste aditiv(spat ial omogen).
Mediul de programare RSTUDIO dispune de pachetul Markov-
chain [27].
Acesta dispune de trei funct ii statistice utilizate ^ n estim ari si si-
mul ari:
markovchainFit,predict,rmarkovchain
7.3 Fiabilitate parametric a
7.3.1 Obiective
Fiabilitatea parametric a are ^ n vedere evolut ia ^ n timp a unui pa-
rametru caracteristic pentru un produs. Dac a se consider a un lot de
produse identice, supus observat iilor, se constat a c a de la ^ nceput,
^ n urma fabricat iei, parametrul sau caracteristica specic a produselor
respective ( X) nu este aceea si la toate componentele lotului, ind ^ ns a
cuprins a ^ ntr-o plaj a init ial a de tolerant a (de exemplu =5%). ^In
timp, valoarea init ial a a caracteristicii sufer a o modicare dup a o lege
oarecare, ^ n general ^ n sensul sc aderii (ex.: capacitatea unui conden-
sator ) sau cre sterii (ex: pierderile de mers ^ n gol la un motor electric).
7.3. FIABILITATE PARAMETRIC A 255
Modicarea valorii init iale a parametrului nu este indiferent a pen-
tru funct ionarea unui sistem complex care ^ ncorporeaz a asemenea ele-
mente, este necesar a prevederea unor limite, dincolo de care nu mai
este permis a utilizarea lor. Momentul tdi, ^ n care valoarea parametru-
lui X atinge limita impus a (Xsup sau Xinf), echivaleaz a cu o defectare.
Sistemul continu a s a funct ioneze, dar f ar a a respecta condit iile stabi-
lite
Xinf < X < Xsup
Denit ie 44 Fiabilitatea stabilit a pe baza statisticii evenimentelor co-
respunz atoare momentelor t di, se nume ste abilitate parametric a.
Curbele de evolut ie a parametrului ^ n timp, sunt asimilate cu
drepte, reprezentarea teoretic a ind de dou a feluri:
1.Evolut ie parametric a de tip polar,
2.Evolut ia parametric a uniform a.
7.3.2 Metode pentru studiul abilit at ii parame-
trice
^In continuare vom studia calculul abilit at ii, [18, pag 78-88] por-
nind de la cunoa sterea modului ^ n care variaz a m arimile de ie sire ale
unui sistem, ^ n funct ie de variat iile posibile ale parametrilor interni si
de intrare, aceste variat ii ind simultane si independente. Problema
de fapt se reduce la determinarea valorilor parametrilor de ie sire, res-
pectiv variat ia parametrului de ie sire determinant al sistemului, ^ n
funct ie de repartit ia tolerant elor parametrilor interni.
^In esent a se presupune c a parametrul de ie sire este distribuit nor-
mal ^ n orice moment al duratei de viat a a sistemului si c a el trebuie s a
se ^ ncadreze ^ ntre anumite limite (+ L) si ( L). Pentru toate valorile
256 CAPITOLUL 7. FIABILITATEA SISTEMELOR
ce dep a sesc aceste limite, se produce defectarea sistemului sau o stare
echivalent a cu defectarea.
La momentul init ial t0, parametrul de ie sire semnicativ are media
m0 si dispersia 2
0. La alte momente ulterioare datorit a diverselor
variat ii ale parametrilor interni, media si dispersia se modic a conform
noilor distribut ii ale parametrului de ie sire y0la momentele respective.
Este evident c a trebuie s a denim un model matematic, care ne-
cesit a parcurgerea urm atoarelor etape:
1.select ia sistemului;
2.stabilirea modelului matematic (funct ia de transfer);
3.validarea experimental a a modelului;
4.determinarea teoretic a a domeniului de funct ionare;
5.determinarea experimental a a domeniului de funct ionare.
^In general se folosesc urm atoarele metode:
a)metoda experimental a;
b)metoda regresiei;
c)metoda cazului cel mai defavorabil sau a valorilor extreme;
d)metoda Monte Carlo.
Deoarece exist a un pachet RStudio Markov Chain Monte Carlo
prescurtat mcmc( elaborat de Charles J. Geyer )care se poate
desc arca de la adresa http: // www.stat.umn.edu/geyer/mcmc ne vom
focusa ^ n aceast a lucrare pe metoda Monte Carlo.
7.3. FIABILITATE PARAMETRIC A 257
7.3.3 Metoda Monte Carlo
Aceast a metod a este o tehnic a de simulare, legat a de probleme
cu caracter aleator, model^ and variabile aleatoare, ^ n scopul calcul arii
repartit iei acestora. Metoda Monte Carlo permite simularea funct ionarii
sistemelor cu ajutorul proceselor aleatoare.
Consider am:
-yj(j= 1;2; :::; n ) – parametrii de ie sire;
-yi
j(i= 1;2) – limita inferioar a, respectiv superioar a, admise de
proiectant pentru parametrii de ie sire;
-xk(k= 1;2; :::m )- parametrii interni si de intrare.
Metoda presupune urm atorii pa si:
i)Scrierea ecuat iilor modelului matematic ce descrie funct ionarea sis-
temului:
yj=F(x1; x2; :::x m);j= 1;2; :::n (7.22)
ii)Randomizarea parametrilor xk;
Pentru cazul unei repartit ii normale xa
kse determin a prin relat ia:
xa
k=xN
k+xN
k+ 2xT
k
6kh (7.23)
umde :
xN
keste valoarea nominal a a parametrului x k;
xT
k- tolerant a parametrului x k;
kh- un num ar aleator dintr-o select ie sucient de mare de nu-
mere aleatoare repartizate uniform ^ n intervalul (0,1) cu h= 1;2; :::r:
Modelul mcmc aplic a formula de randomizare (7.23) ec arui pa-
rametru xa
K si veric a inegalit at ile:
x1
kxa
kx2
k (7.24)
258 CAPITOLUL 7. FIABILITATEA SISTEMELOR
iii)Valorile lui ce satisfac inecuat ia (7.24), se introduc ^ n modelul
(7.22), din care, ^ n urma datelor obt inute prin ^ ncerc arile privind
variat ia parametrilor interni si de intrare, se determin a densita-
tea de probabilitate f(yj) a parametrilor de ie sire aleatori y j:
iv)Se formuleaz a un criteriu cantitativ de determinare a abilit at ii
sistemului astfel: abilitatea unui sistem S la momentul t, P(S; t),
se poate deni prin probabilitatea ca parametrii de ie sire yj(t) la
momentul t >0, s a se ^ ncadreze ^ n limitele y1
j, y2
jadmise apriori:
P(S; t) =P(y1
jyj(t)y2
j); j= 1;2; :::n (7.25)
Dac a exist a un singur parametru de ie sire yatunci:
P(S; t) =P(y1y(t)y2) =∫y2
y1f(y)dy (7.26)
Dac a exist a mai mult i parametri de ie sire independent i ( yj) :
P(S; t) =n∏
j=1P(y1
jyj(t)y2
j) = (7.27)
=n∏
j=1∫y2
j
y1
jf(yj)dyj
Generarea numerelor pseudoaleatoare khdistribuite uniform ^ ntr-
un interval dat, se face folosind rutine de calcul specializate din
biblioteca matematic a a mediului de programare MStudio .
De asemenea se poate utiliza metoda congruent ial a prezentat a ^ n
exemplul 2.1.
7.4. FIABILITATE EXPERIMENTAL A S I OPERAT IONAL A259
7.4 Fiabilitate experimental a si operat ional a
Dup a realizarea produselor se impune si faza de vericare a con-
formit at ii indicatorilor de abilitate determinat i prin calcule.
Aceasta se poate face ^ n dou a moduri:
1.^ n laborator, ^ n condit ii standard de ^ ncercare, stabilite astfel
^ nc^ at s a se simuleze condit iile de solicitare real a, din funct ionarea
normal a, sau ^ n condit ii accelerate;
2.^ n exploatare, indicatorii determinat i av^ and un caracter operat ional,
deci real, cu condit ia ca modul de exploatare s a e corect si sem-
nicativ pentru produsul studiat.
^In studiul abilit at ii experimentale sau operat ionale, cel mai im-
portant lucru ^ l constituie determinarea legii de distribut ie care guver-
neaz a procesul respectiv de defectare, cele mai utilizate ^ n acest dome-
niu, sunt legile de distribut ie continue si anume: legea exponent ial a,
legea normal a si legea Weibull.
Deci, ^ nainte de a trece la determinarea indicatorilor de abilitate,
trebuie s a se verice care din legile de mai sus este valabil a.
Pentru vericarea si determinarea indicatorilor de abilitate se uti-
lizeaz a riglele pentru determinarea abilit at ii. Pentru vericarea con-
formit at ii legii de distribut ie, se folosesc metodele de prelucrare sta-
tistic a a datelor experimentale obt inute. Cele mai utilizate sunt:
a)Testele grace de abilitate ^ n cazul celor trei legi de distribut ie
mai des utilizate, folosind a sa-zisele h^ artii de probabilitate;
b)Rigle pentru determinarea abilit at ii;
c)Prelucrarea statistic a a datelor din exploatare ^ n vederea veric arii
concordant ei legii de repartit ie.
260 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Datele necesare prelucr arii se extrag din raportul de exploatare.
Pentru ecare component a a lotului supus observat iilor se noteaz a
momentul defect arii, iar aceste informat ii se trec ^ ntr-un tabel centra-
lizator ^ n ordine cresc atoare:
t1t2:::tr
unde rreprezint a num arul total de defecte din lotul de nproduse
supuse observat iilor.
Recomand am folosirea urm atoarelor teste:
i)Testul 2care poate aplicat pentru vericarea concordant ei
oric arei repartit ii empirice cu repartit ia teoretic a corespunz atoare,
f ar a a cunoa ste ^ ns a valorile repartit iei teoretice.
ii)Testul Kolmogorov-Smirnov care veric a concordant a dintre o
repartit ie teoretic a F(X) si una experimental a Fn(X):
7.5 Exemple
Exemplul 44 S-au observat un num ar de 10 PC-uri pe durata a
28260 ore c^ at reprezint a perioada de garant ie.
Datele ^ n ordinea producerii ie sirilor din funct ionare se prezint a ^ n
tabelul urm ator:
7.5. EXEMPLE 261
calc timp
11041
21125
31201
41308
51405
61524
71534
81610
91654
10 1709
S a se estimeze abilitatea acestui sistem utilizind media duratei
r amase de funct ionare MTTFF .
Solut ie
Vom construi vectorul cu timpul de funct ionare al calculatoarelor,
dup a care vom deni norma necesar a.Vom calcula timpul r amas de
funct ionare, facem o medie a datelor, iar apoi vom face raportul mediei
de funct ionare cu norma de funct ionare stabilind probabilitatea ca
aceste calculatoare sa funct ioneze. Scriem urm atorul cod RStudio :
>timp=c(1041,1125,1201,1308,1405,1524,1534,1610,1654,1709)
>norma=28260
>timp_ramas=norma-timp
>mean(timp_ramas)
>fiabilitate=mean(timp_ramas)/norma
>fiabilitate
Vom obtine rezultatul:
[1] 0.9500672
Deci ne ^ ncadr am ^ n riscul beneciarului de 1 = 10%
262 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Exemplul 45 MTBF a unei telecomenzi apart in^ and unui T.V. cu
plasm a ^ n zile are urm atoarea densitate de probabilitate:
f(x) ={1000
x2;x >1000
0;x1000
S a se calculeze :
a) Probabilitatea ca telecomanda s a nu e ^ nlocuit a ^ n primele 1500
de zile.
b) S tiind c a o telecomand a funct ioneaz a mai mult de 2000 zile s a
se determine probabilitatea ca ea s a nu funct ioneze mai mult de 3000
zile.
Solut ie
Vom da o solut ie analitic a. Cuantila timpului de bun a funct ionare
este dat a de urm atoarea relat ie:
P(x > T ) =1∫
Tf(x)dx
P(x >1500) =1∫
15001000
x2dx=2
3(7.28)
Se poate folosi si RStudio pentru calculul integralei (7.28) astfel:
> integrant<-function(x){1000/x^2}
> integrate(integrant,1500,Inf)
0.6666667 with absolute error < 1.2e-05
b) Denim urm atoarele evenimente: A- Evenimentul ca o teleco-
mand a s a funct ioneze mai mult de 2000 zile, B-evenimentul ca ea s a
funct ioneze mai put in de 3000 de zile.
7.5. EXEMPLE 263
Vom folosi formula probabilit at ilor condit ionate.
P(A=B) = P(x >2000=x < 3000) = (7.29)
=P(2000 < x < 3000)
P(x <3000)=
=3000∫
20001000
x2dx
3000∫
11000
x2dx=1
4
Vom folosi din nou RStudio pentru calculul (7.29) si obt inem
acela si rezultat:
integrant<-function(x){1000/x^2}
a=integrate(integrant,2000,3000)
b=integrate(integrant,-Inf,3000)
p=a/b
p
0.25
Exemplul 46 S-au f acut 12 teste de andurant a asupra unui tip de
HDD si s-a stabilit c a MTBF (^ n zile) este dat a ^ n tabelul urm ator:
1 2 3 4 5 6 7 8 9 10 11 12
580 595 618 640 665 690 720 780 821 864 968 1003
Folosind testul Kolmogorov-Smirnov s a se verice ipoteza statistic a
c a datele din tabel urmeaz a o lege normal a.
Solut ie 6 Scriem urm atorul script Kolmogorov.r:
x<-c(580,595,618,640,665,690,720,780,821,864,968,1003)
264 CAPITOLUL 7. FIABILITATEA SISTEMELOR
#ipoteza nula distributia TMBF este normala,
# ipoteza alternativa este o alta distributie
summary(x)
sd(x)#deviatia standard
par(mfrow=c(1,4))
w=hist(x)#histograma
#generam 12 valori cu media 800.9
y=rnorm(12,mean=800.9,sd=39.74426)
summary(y)
sd(y)
#windows()
qqnorm(x)#graficul are trebui sa fie o dreapta
#verificam daca cele doua selectii
#au aceasi distributie
#graficul ar trebui sa fie o dreapta
grid(5,5,col="GREEN")
qqplot(x,y,main="Q-Q plot- doua selectii",pch="+",
xlab="x=runif(100)", ylab="y=rnorm(1000,mean=800.9)")
grid(5,5,col="BLUE")
#folosim testul Kolmogorov-Smirnov
z=ks.test(x,y)#au aceasi distributie?
#deoarece p-val<0.5883 se respinge ipoteza nula
plot(x,y,type="b",pch="+",xlab="",ylab="",lwd=3);
title(main="Test Kolmogorov")
grid(5,5,col="RED")
z
Dac a ^ l lans am ^ n execut ie folosind comanda:
>source('~/R/Kolmogorov.R')
obt inem gracul:
7.5. EXEMPLE 265
Figura 7.1: Teste de andurant a
Two-sample Kolmogorov-Smirnov test
data: x and y
D = 0.58333, p-value = 0.03144
alternative hypothesis: two-sided
Concluzion am c a deoarece pval < 0:5883 se respinge ipoteza nul a
gura(7.1).
266 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Exemplul 47 Un calculator, ce are cuplate o imprimant a si un plot-
ter, poate privit ca un sistem care se poate a
a ^ ntr-una din urm atoarele
st ari:
i)a: calculatorul, imprimanta si plotter-ul sunt funct ionale;
ii)b : imprimanta este defect a si pot rulate numai programe uti-
liz^ and plotter-ul;
iii)c: plotter-ul este defect si pot rulate numai programe utiliz^ and
imprimanta;
iv)d: calculatorul este defect sau imprimanta si plotter-ul sunt de-
fecte, sistemul nemaiput^ and utilizat.
^In momentul init ial sistemul se a
a ^ n starea a si el este controlat
la momente xate de timp, t1,t2,t3. Sistemul poate modelat cu un
lant Markov cu trei pa si (momentele de timp dup a cele trei controale).
Se cer probabilit at ile st arilor sistemului dup a cele trei controale. Nu
se iau ^ n considerare eventuale act iuni de reparare.
Solut ie 7 Avem urm atoarele probabilit at i de tranzit ie:
p12= 0.1; p 13= 0.2; p 14= 0.3; p 11= 1 – p 12- p13- p14= 1 – 0.1
– 0.2 – 0.3 = 0.4;
p21= 0; p 23= 0; p 24= 0.2; p 22= 1 -p 21- p23- p24= 1 – 0.2 =
0.8;
p31= 0; p 32= 0;p 34= 0.1; p 33= 1 -p 31- p32- p34= 1 – 0.1 = 0.9;
p41= 0; p 42= 0; p 43= 0; p 44= 1.
Probabilit at ile init iale ale st arilor sunt: p 1(0) = 1, p 2(0) = p 3(0)
= p 4(0) = 0.
Vom ^ ncerca s a d am o solut ie folosind RStudio:
7.5. EXEMPLE 267
> library(markovchain)
> library(matlab)
> mathematicaMatr <- zeros(4)
> mathematicaMatr[1,] <- c(0.4,0.1,0.2,0.3)
> mathematicaMatr[2,] <- c(0,0.8,0,0.2)
> mathematicaMatr[3,] <- c(0,0,0.9,0.1)
> mathematicaMatr[4,] <- c(0,0,0,1)
> statesNames <- letters[1:4]
> mathematicaMc <- new("markovchain",
+transitionMatrix = mathematicaMatr,
+name = "Mathematica MC",states = statesNames)
> m<-mathematicaMc
> m
Mathematica MC
A 4 – dimensional discrete Markov Chain defined by
the following states:
a, b, c, d
The transition matrix (by rows) is defined as follows:
a b c d
a 0.4 0.1 0.2 0.3
b 0.0 0.8 0.0 0.2
c 0.0 0.0 0.9 0.1
d 0.0 0.0 0.0 1.0
> plot(m,package="diagram")
> title(main = "Diagrama starilor")
> iterate.P <- function(x, m, n) {
+ res <- matrix(NA, n+1, length(x))
+ res[1,] <- x
+ for (i in seq_len(n))
+ res[i+1,] <- x <- x %*% P
+ res
268 CAPITOLUL 7. FIABILITATEA SISTEMELOR
+ }
> n <-3
> y1<-iterate.P(c(1,0,0,0),m,n)
> y1
[,1] [,2] [,3] [,4]
[1,] 1.000 0.000 0.000 0.000
[2,] 0.400 0.100 0.200 0.300
[3,] 0.160 0.120 0.260 0.460
[4,] 0.064 0.112 0.266 0.558
> matplot(0:n,y1,type="l",lty=1,xlab="Pasi",
ylab="y",las=1)
Figura 7.2: Lant uri Markov
(a)
(b)
7.5. EXEMPLE 269
Exemplul 48 S a se studieze din punctul de vedere al abilit at ii un
sistem cu re^ noire format din dou a microprocesoare identice conectate
^ n paralel. Microprocesoarele au timpii de bun a funct ionare p^ an a la
defectare si timpul de reparare distribuit i exponent ial cu rata de defec-
tare si rata de reparare .
Pentru ^ nceput vom da o solut ie analitic a.
Un studiu al comport arii abilistice al unui asemenea sistem im-
plic a determinarea:
a)R(s) = transformata Laplace a funct iei de abilitate R(t) a siste-
mului
b)m1= media timpului de funct ionare p^ an a la prima defectare a
sistemului
c)A(s) =transformata Laplace a funct iei de disponibilitate A(t) a
sistemului
d)A= coecientul de disponibilitate a sistemului
e)m2= media timpului de reparare a sistemului
Studiul se poate realiza folosind modelarea prin procese Markov.
Pentru aceasta este necesar s a se determine st arile sistemului. Mo-
delarea cea mai natural a e aceea a codic arii binare a st arii ec arui
microprocesor din structura sistemului. Asign am simbolurile:
i)"1" : starea de bun a funct ionare a microprocesorului,
ii)"0" :starea defectare a microprocesorului..
270 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Numerot^ and microprocesoarele componente ale sistemului de la
i= 1;2;atunci cuv^ antul binar care este format din bit ii st arilor ec arui
microprocesor se va reprezenta ^ n mod unic.
Un sistem cu 2 microprocesoare va descris 22st ari si prin tranzit iile
^ ntre aceste st ari. Tranzit iile vor putea reprezentate printr-o matrice
a probabilt at ilor de tranzit ie dintr-o stare ^ n alta , a sadar printr-o ma-
trice cu 22linii si 22coloane. Pentru a avea o tratare matematic a c^ at
mai put in laborioas a este bine s a avem c^ t mai put ine st ari, de aceea ^ n
primul r^ and se elimin a st arile care nu au sens zic (^ n care de exemplu
nu se pate ajunge niciodat a). Se caut a si alte reprezent ari posibile ale
st arilor astfel ^ nc^ at s a avem un num ar mai mic de st ari. St arile de
bun a funct ionare ale sistemului se deseneaz a cu cercuri (elipse) cu o
linie simpl a continu a, iar ^ n interior se scrie "numele" st arii, st arile de
defect se marcheaz a printr-un cerc cu o linie ^ ngro sat a. Astfel, ^ n cazul
sistemelor cu blocuri identice conectate ^ n paralel din punct de vedere
abilistic se prefer a notarea st arilor dup a num arul de microprocesoare
defecte din sistem. Vom considera ^ n continuare un sistem duplex
format din cele dou a microprocesoare care are o vitez a constant a de
defectare = 10 5 si o vitez a constant a de reparat ie = 10 2:Mo-
delul Markov al acestui sistem este prezentat ^ n gura (7.3):
Figura 7.3: Model Markov continuu
7.5. EXEMPLE 271
{P0(t+ ∆t) =P0(t)[1 2∆t] +P1(t)∆t
P1(t+ ∆t) = 2 P0(t)∆t+P1(t)[1 (+)∆t]
)8
<
:dP0(t)
dt= 2P0(t) +P1(t)
dP1(t)
dt= 2P0(t) (+)P1(t)
P1(0) = 1 ; P 0(0) = 0(7.30)
Problema Cauchy (7.30) o rezolv am folosind transformata Laplace,
obt in^ and un sistem de dou a ecuat ii liniare cu dou a necunoscute P1(s); P0(s)
{(s+ 2)P0(s) P1(s) = 0
2P0(s) + (s++)P1(s) = 1
{
P1(s) =s+2
s2+s(3+)+22
P0(s) =
s2+s(3+)+22
)
R(s) = P0(s) +P1(s) =
=s+ 2+
s2+ (3+)s+ 22
m1=1∫
0R(t)dt=R(s)js=0=2+
22
272 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Disponibilitatea sistemului pentru un singur depanator
Figura 7.4: Disponib sistem ptr un singur depanator
8
<
:P0(t+ ∆t) =P0(t)[1 2∆t] +P1(t)∆t
P1(t+ ∆t) = 2 P0(t)∆t+P1(t)[1 (+)∆t] +P2(t)∆t
P2(t) = 1 P0(t) P1(t)
8
<
:dP0(t)
dt= 2P0(t) +P1(t)
dP1(t)
dt= (2 )P0(t) (+ 2)P1(t) +
P1(0) = 1 ; P 0(0) = 0(7.31)
Rezolv^ and problema Cauchy (7.31) folosind transformata Laplace
obt inem :
{
(s+ (3+)s+ 22)P0(s) P1(s) = 0
(2 )P0(s) + (s++)P1(s) =s+
s
Rezolv^ and sistemul liniar de mai sus obt inem solut iile:
P0(s) =(s+)
s[s2+ (3+)s+ 22+ 2+2]
P1(s) =(s+ 2)(s+)
s[s2+ (3+)s+ 22+ 2+2]
7.5. EXEMPLE 273
A(s) = P0(s) +P1(s) =
=(s+)(s+ 2+)
s[s2+ (3+)s+ 22+ 2+2]
Coecientul de disponibilitate este :
A= lim
t!1A(t) = lim
s!0sA(s) =
=2+
22
1
+2+
22=m1
m1+m2
274 CAPITOLUL 7. FIABILITATEA SISTEMELOR
Disponibilitatea sistemului pentru doi depanatori
Figura 7.5: Disp.sistem doi depanatori
{
P0(s) =(s+2)
s(s++)(s+2+2)
P1(s) =(s+2)(s+2)
s(s++)(s+2+2
)
A(s) = P0(s) +P1(s) =
=(s+ 2)(s+ 2)
s(s++)(s+ 2+ 2)
7.5. EXEMPLE 275
Coecientul de disponibilitate este
A= lim
t!1A(t) = lim
s!0sA(s) =
=2+
22
1
2+2+
22=m1
m1+m2
unde
m2=1
2
este durata medie de re^ noire a sistemului.
A(t) =(2+)
(+)2+( )
(+)2exp( (+)t)+
(+)2exp( (+)t)
A(t) =A1(t) +A2(t) A1(t)A2(t)
unde {A1(t) =
++
+exp( (+)t)
A2(t) =
+
+exp( (+)t)
Observat ie 35
R(t) =R1(t) +R2(t) R1(t)R2(t)
Suger am cititorilor rezolvarea acestei probleme folosind R-Studio.
Indicat ie
Se vor folosii help-urile din pachetele R-Studio:
microbenchmark, mcmc,
markovchainFit,predict,rmarkovchain.
Capitolul 8
Probleme propuse
1. S a se realizeze un program care implementeaz a algoritmul SUPER 0.
Se va scrie cod C ++, si se va crea un dll, apoi se va lansa^ n RStudio.
2. S a se realizeze un program care implementeaz a algoritmul SUPER 1.
Se va scrie cod C ++, se va crea un dll si apoi se va lansa ^ n RStudio.
3. S a se realizeze un program care implementeaz a algoritmul KMP
(Knuth-Morris-Plat) pentru potrivirea sirurilor.
4. Efectu^ and o ^ ncercare exhaustiv a asupra a 12 de microproce-
soare Intel s-au obt inut urm atoarele momente de defectare exprimate
^ n ore:
105 232 290 293 295 325 368 388 403 405 422 428 :
a) S a se identice legea de distribut ie a timpului de bun a funct ionare
(se va folosi RStudio).
b)S a se calculeze parametrii legii.
S a se r aspund a la ^ ntrebarea de ce este necesar un test statistic de
concordant a ? ^In ce const a el?
5. Un e santion de n= 10 hard-discuri sunt supuse unui test de
abilitate, timpul xat ind de 2000 de ore.
276
277
Dup a epuizarea perioadei Tau r amas ^ n stare de buna funct ionare
doar dou a hard-discuri.
^In ipoteza unui model exponent ial calculat i:
a) durata medie de funct ionare.
b)rata de defectare
c)probabilitatea ca hard-discurile s a funct ioneze f ar a defect iuni cel
put in 500 ore.
Hard disk Timpii de buna functionare
1 100
2 170
3 250
4 400
5 520
6 680
7 1200
8 1500
6. S-au observat un num ar de 10 calculatoare pe durata a 2500 de
ore, c^ at reprezint a perioada de garant ie.
Datele ^ n ordinea producerii ie sirilor din funct ionare se prezint a ^ n
tabelul urm ator:
Calculator Timp
1 845
2 868
3 920
4 1034
5 1450
6 1680
7 2238
8 2275
9 2345
10 2480
278 CAPITOLUL 8. PROBLEME PROPUSE
S a se estimeze abilitatea acestui sistem utiliz^ and media timpului
de bun a funct ionare.
7.Num arul de componente electronice v^ andute zilnic la supermar-
ketul Flanco din Sibiu este o variabil a discret a repartizat a uniform ^ n
intervalul [6 ;10]:Se cere simularea v^ anz arilor pentru zece zile.
8.S a se scrie un program^ n RStudio care s a analizeze comportarea
unui sistem multimedia serie av^ and opt componente cu abilitat ile:
0.63, 0.69, 0.72, 0.77, 0.83, 0.87, 0.95, 0.97
9.Num arul de calculatoare care sosesc la ^ nt^ amplare la o rm a
de depanare poate descris de o distributie Poisson cu media de trei
calculatoare pe zi. Se cere simularea num arului de calculatoare care
vor sosi ^ n urm atoarele patru zile.
10. Firma VISMA dore ste s a organizeze trimestrial concursuri
pentru ocuparea unor posturi de programatori. Procesul de select ie
a angajat ilor presupune participarea candidat ilor la un test de pro-
gramare. Estim am c a se pot ^ nscrie maxim 25 candidat i. Pe baza
experient ei de la testele anterioare s-a stabilit c a probabilitatea ca un
candidat s a treac a testul este de 30%. Managerul rmei dore ste s a de-
termine prin simulare c^ at i candidat i vor promova testul la urm atoarele
trei concursuri.
11.S a se scrie un program R pentru implementarea algoritmului
criptograc RSA cu chei publice.
12.Repartit ia timpului de bun a funct ionare a unui microprocesor
pe 64 bit i este caracterizat a prin densitatea de probabilitate:
f(x; ) ={1
2exp( 2x
);dac a x0
0;dac a x < 0
Presupun^ and c a x1; x2; x3; :::x nreprezint a duratele de funct ionare
anmicroprocesare s a se estimeze parametrul folosind metoda vero-
similit at ii maxime. Se va da o solut ie analitic a si una folosind mediul
de programare RStudio.
279
13. Ret eaua de PC-uri din laboratorul de calitate si abilitate
este format a din 14 calculatoare, al c arui factor de ^ ntret inere este =
0;1:S a se determine probabilitatea ca^ n compartimentul de^ ntret inere
dotat cu un singur inginer electronist s a se a
e jcalculatoare ( j=
0;1; :::14):
S a se a
e num arul mediu de calculatoare care sunt ^ n atelierul de
^ ntret inere.
14. Se presupune c a releele defecte obt inute ^ ntr-un proces de
product ie al rmei Siemens nu dep a sesc 5%. ^Intr-o select ie de 100
piese se g asesc 10 defecte. S a se verice ipoteza la un nivel de semnicat ie
0.05. Se va folosii mediul de programare RStudio.
15. Studind rezistent a la rupere a unor cabluri electrice s-au
obt inut urm atoarele valori:
16:10;19:18;19:25;22:44;22:58;23:20;24:58;26:50;27:22;30:26:
S a se verice folosind testul Kolmogorov, dac a rezistent a la rupere
poate considerat a variabil a normal a.
16.MTBF [32] a unei plasme dintr-un lot omogen este o va-
riabil a aleatoare. Presupunem c a probabilitatea ca o plasm a s a e
funct ional a, dup a un interval de timp de la intrarea ei ^ n funct iune
este dat a de:
P(T > ) =e
unde >0 este un parametru.
a) Admitem c a durata medie de viat a este de 105ore. Care este
probabilitatea ca patru plasme s a ias a din funct iune ^ n 2 105ore?
b) Putem alege dou a tipuri de plasme. Prima are o durat a medie
de viat a de 105ore si cost a keuro, iar a doua are o durat a medie de
viat a de 2 105ore si cost a 2 keuro.
Pentru securitate oricare din cele dou a tipuri de plasme sunt^ nlocuite,
atunci c^ and probabilitatea de supraviet uire (abilitate) este de 30%.
280 CAPITOLUL 8. PROBLEME PROPUSE
Care este tipul de plasm a cel mai avantajos, ^ n ipoteza c a toate plas-
mele urmeaz a legi de repartit ie independente unele de altele.
17.Linia unui abonat telefonic se poate g asii ^ n dou a st ari: liber
sau ocupat, notate 0 sau 1 :S tiind c a duratele celor dou a tipuri de st ari
urmeaz a distribut ii de probabilitate exponent iale de medie1
=4
3;1
=
3;s a se determine probabilitatea de stare p0(t) sip1(t) ^ n funct ie de
probabilit at ile init iale de stare p0(0) = 0 :25; p1(0) = 0 :75:
Se va da o solut ie folosind mediul de programare RStudio.
Bibliograe
[1]Gabriela Beganu, &Colaboratori- Elemente de teoria probabi-
lit at ilor si statistic a matematic a, – Meteor Press, Bucuresti 2003.
[2]Peter Dalgaard – Introductory Statistics with R- Springer Verlag
Second Edition 2008.
[3]W. G. Hunter, and J. S. Hunter .-Statistics for Experimenters,
2d ed. New York: Wiley Interscience. 2005.
[4]Petru Blaga – Statistic a prin Matlab-Editura Presa Universitar a
Clujean a, 2002.
[5]Borovkov, A.- Statistique Mathematique- Editions MIR, Moscou,
1987.
[6]John M. Chambers – Software for Data Analysis, Programming
with R- Springer Verlag ,2009.
[7]C. Cormen, T. Leiserson, R. Rivest { Algorithms, MIT Press,
1994.
[8]Jonathan D.Cryer, Kung-Sik Chan- Time Series Analysis with
Applications in R- Springer Texts in Statististics Hardcover 2008.
[9]Dirk Eddelbuettel – "R, C++ and Rcpp", UCLA, 2014.
281
282 BIBLIOGRAFIE
[10] Ding, C. G. Algorithm AS275: Computing the non-central chi-
squared distribution function. Appl.Statist., 41 478{482,1992 .
[11] Graybill, F. – Theory and Application of the Linear Model. Bel-
mont Calif.: Duxbury, 2000.
[12] Geyer, C. J. – Practical Markov Chain Monte Carlo, Statistical
Science 7 473{483 1992.
[13] Hocking, R. R. – Methods and Applications of Linear Models:
Regression and the Analysis of Variance, 5th ed.New York: Wiley
Interscience. 2003.
[14] Geber, T., St aicut , E. Tutoveanu, I. B alan, M.- Fiabilitatea si
mentenabilitatea sistemelor- Editura Tehnic a, Bucure sti, 1984.
[15] Gheoghe Mihoc, Aneta Muja, Eugeniu Diatcu- Bazele matematice
ale Teoriei Fiabilit at ii – Editura Dacia Cluj-Napoca, 1976.
[16] Gheoghe Mihoc, G. Ciucu, V.Craiu- Teoria probabilit at ilor si Sta-
tistic a Matematic a, Ed. Did. Ped. Bucure sti, 1970.
[17] Maria Miroiu, Viorel Petrehu s, Gheorghit a Zb aganu- Init iere
^ n R, pentru persoane cu preg atire matematic a- proiect POS-
DRU/56/1.2/S/32768,2002.
[18] Toader Munteanu, Gelu Gurguiatu, Ciprian B al anut a- Fiabilitate
si Calitate ^ n Inginerie Electric a- Galat i University Press, 2009
[19] Murrell, P- R Graphics. Chapman & Hall-CRC Press , 2005.
[20] Emmanuel Paradis- R pentru ^ ncep atori- Institutul de S tiint e ale
Evolut iei, Universitatea din Montpellier II, 2005.
[21] A. P aun, M. P aun- Analiz a Statistic a folosind limbajul R, Edi-
tura Matrix Rom,Bucure sti, 2009 .
BIBLIOGRAFIE 283
[22] E.Pieruschka – Principles of reliability- Prentice-Hall, Inc. En-
glewood Clifs, New York,1963.
[23] Daniel N.Pop- Teoria probabilt at ilor si Statistic a Matematic a
prin Matlab – Editura Universit at ii Lucian Blaga, Sibiu, 2018.
[24] Vasile Preda- Teoria deciziilor statistice, Ed. Academiei Rom ane,
1992.
[25] Christian P.Robert, Gerge Cassella- Introducing Monte Carlo
Methods with R- Springer Science +Bussines Media,2010.
[26] Radu Tiberiu Tr^ ambit a s- Metode statistice -Editura Presa Uni-
versitar a Clujean a 2013.
[27] G.A. Spedicato, T.S Kang, S.B. Yalamanchi,D.Zadav- The mar-
kovchain Package: A Package for Easily Handling Discrete Mar-
kov Chains in R.-The R Journal URL ,2017.
[28] Karline Soetaert, Thomas Petzoldt and R. Woodrow -Solving Di-
fferential Equations in R, The R Journal Vol. 2/2, December
2010.
[29] User's guide EDSA- Electrical distribution and transmossion sys-
tem analyses and design programs- EDSA Macro Corporation,
San Diego, USA, 1998.
[30] Daniel Volovici – Fiabilitate Hardware si Software- Editura Uni-
versit at ii Sibiu, 1997.
[31] G. Zb aganu- Metode Matematice ^ n Teoria Riscului si Actuariat,
Editura Universit at ii Bucure sti, 2004.
[32]www.edumanager.ro/community/documente/initiere in R.
284 BIBLIOGRAFIE
[33]http://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/repp-
devel
Glosar
Anova, 180
Calitate, 122, 161, 183, 192
Coecientul de variat ie, 15
Criteriu de decizie, 188
Cuantile, 24, 144, 156, 226
Data frame, 79
Exemple, 204, 260
Fiabilitate, 223, 226, 229, 231,
234, 254
Histograma, 100
Indexare, 51
Integrale denite, 67
Integrale Euleriene, 16
Interval de ^ ncredere, 157, 160,
169, 177
Ipoteze statistice, 138, 141,
147, 172
Lant uri Markov, 235, 268Lattice, 103
Matrice, 41, 56, 64, 82, 88, 237
Metoda congruent ial a, 74
Metoda Monte Carlo, 155, 257
Obiecte, 40, 47, 53
Plan de control atributiv, 197
Plot, 95
Procese Markov, 252
Puterea unui test, 176, 179
Regiunea critic a, 154
Teste statistice, 140, 141, 147,
151, 152, 156, 159, 164,
166, 170, 191
Transformata Laplace, 20, 245
Valoarea critic a, 147
Vericare indicatori, 185
Weibull, 132
285
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Studiul calit at ii si abilit at ii [626151] (ID: 626151)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
