wprowadzenie do programowania w sas-ie oraz …wprowadzenie do programowania w sas-ie oraz estymacji...

19
Wprowadzenie do programowania w SAS-ie oraz estymacji rozkladów 1 oraz estymacji rozkladów [email protected] Plan Co to jest SAS System – Moduly Środowisko Organizacja danych przetwarzanych w SAS 2 Programowanie w języku SAS 4GL Estymacja parametryczna rozkladów zmiennych losowych

Upload: others

Post on 10-Mar-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Wprowadzenie do programowania w SAS-ieoraz estymacji rozkładów

1

oraz estymacji rozkładów

[email protected]

Plan

♦ Co to jest SAS System– Moduły– Środowisko– Organizacja danych przetwarzanych w SAS

2

– Organizacja danych przetwarzanych w SAS

♦ Programowanie w języku SAS 4GL

♦ Estymacja parametryczna rozkładów zmiennych losowych

Page 2: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Co to jest SAS System

♦ Historycznie SAS = Statistical Analysis System♦ Obecnie (a) platforma do budowania systemów wspomagania

decyzji (DSS) (zbiór modułówdo analizy danych), (b) zbiór specjalizowanych aplikacji DSS

♦ Przykładowe moduły

3

• Base SAS język do przetwarzania danych, procedury analityczne) • STAT procedury analizy statystycznej• ACCESS dostęp do danych w różnych formatach (DBMS)• GRAPH• AF, webAF środowiska budowania aplikacji OLAP• EIS• ...• OR, QC, ETS,... specjalizowane procedury (badania operacyjne,

niezawodność i kontrola jakości, szeregi czasowe, etc.• Enterprise Miner aplikacja data mining • Data Warehouse Administrator

Środowisko programu SAS

♦ MVA (MultiVendor Architecture): programy SAS wykonują się na VMS, CMS, OS/390, Unix, Windows, OS/2 bez modyfikacji

♦ Dane przetwarzane przez programy SAS:

– Pliki SAS (SAS files)

4

– Pliki SAS (SAS files)Np. SAS data sets, views, MDDBs

– Które przechowywane są w bibliotekach SAS (SAS libraries)Referencja (LIBREF) do folderu, kartoteki itp. systemu operacyjnego, np.

LIBNAME projekt ‘c:\dane\projekt’;

Page 3: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Biblioteki (SAS Libraries)

♦ Biblioteki tworzone automatycznie przez SAS

SASHELP -- SAS system filesSASUSER -- user profile filesWORK -- Biblioteka tymczasowa (pozostałe s ą

permanentne)

5

permanentne)

♦ Odwołania do plików SAS –kwalifikowane nazwy libraryname.filename, e.g.,

projekt.dane -- plik w bibliotece projekt

dane -- plik w bibliotece WORK

Pliki danych SAS (SAS Data Sets)

♦ SAS data sets, dwa typy:– DATA – tablica fizycznie przechowująca dane

– VIEW – kod (query), który tworzy logiczny data set

♦ Konwencje nazw

6

♦ Konwencje nazw– Wiersze nazywają się obserwacjami

– Kolumny nazywają się zmiennymi (variables)

♦ SAS data set składa się z: – Deskryptora - zawiera atrybuty data set-u i jego zmiennych

– Części zawierającej dane

Page 4: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Pliki danych SAS (SAS Data Sets)♦ Wyświetlanie deskryptora SAS data set-u

PROC CONTENTS DATA=projekt.test;

RUN;-----Alphabetic List of Variables and Attributes-----

# Variable Type Len Pos Format Informat Label

ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

7

ƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒƒ

1 sex Char 2 16 $3. $3. sex

4 teach_duration Num 8 8 11. 11. teach_duration

2 teacher_Code Num 8 0 11. 11. teacher_Code

3 titel_code Char 12 18 $12. $12. titel_code

♦ Typy zmiennych w SAS– character – numeric

♦ Atrybuty zmiennych– Length - długość zmiennej: numeric: 3-8, character 1-32767 (MS Windows)– Format - jak wyświetlać (drukować) wartości zmiennej– Informat - jak konwertować (skanować) „input string” do wartości zmiennej– Label - opis zmiennej

Pliki danych SAS (SAS Data Sets)♦ Wyświetlanie wartości w data set

PROC PRINT DATA= projekt.test;

RUN;

Obs sex teacher_Code titel_code teach_duration

8

1 M 1 006 1

2 M 2 502 1

3 M 3 .

4 M 4 1

5 M 5 022 1

6 M 6 006 1

7 W 7 1

8 M 8 006 1

♦ „Missing value” – brak danych– Wskazuje że w danej obserwacji nie przechowujemy wartoći dla danej zmiennej– „missing numeric value” reprezentowana przez . (kropka)– „missing character value” reprezentowana przez spację

Page 5: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Programowanie w SAS– PierwszyProgram

DATA STEP

tworzy data set test

Tworzy zmienne w test

Wykonuje data step

data test;

teachers= 283 ;

students= 853 ;

all=teachers+students;

s_per_t=students/teachers;

run ;

9

Wykonuje data step

PROC STEP

Wyświetla data set test

run ;

proc print data=test;

run;

Data Set WORK.FHS

Obs teachers students all s_per_t

1 283 853 1136 3.01413

Przetwarzanie danych w programach SAS

Raport

Plik zewnętrzny

SAS Data Set

Raw data file

...

DATA Step

PROC Step

10

Program w SAS SAS Log

SAS Data SetDBMS tables(e.g., .mdb)

Remote access(ftp, TCP/IP socket, etc.)

PROC Step

...

DATA Step

...

Page 6: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Części programu: DATA Step, PROC Step♦ DATA Step

– Wczytuje dane wejściowe• Np. data set,

• Pliki zewnętrzne itd.

– Przetwarza dane

♦ PROC Step– Analiza danych,

– Tworzenie raportów (tekst, graf, HTML, PDF, itd.)

11

– Przetwarza dane

– Tworzy wyjście• Np. data sets,

• Plik zewnętrze

• Raporty

Algorytm DATA Step

data students;

input name $ sex $ note1 note2;

avg=mean(note1,note2);

datalines;

Anna F 4 5

12

Ian M 3 .

Eva F 1 4

;

run ;

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5

2 Ian M 3 . 3.0

3 Eva F 2 1 1.5

Page 7: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Algorytm DATA Step-u

♦ Główna pętla DATA step:– data step wczytuje jedną obserwację,

– Dane są umieszczane w PDV = Program Data Vector;– PDV jest inicjowany na wartości missingna początku każdej iteracji data step

– Wykonuje instrukcje (statements) zapisane w DATA step (na danej obserwacji),

13

obserwacji),– Zapisuje obserwację do wynikowego data set (implicit OUTPUT)

♦ Uwaga: Implicit OUTPUTnie działa jeśli jawnie użyjemy OUTPUT statement w DATA step

♦ Dane wejściowe dla DATA step wskazujemy np. instrukcją:– SET statement – czytaj dane we z data set – INPUT statement – wczytaj linię z pliku zewnętrznego (np. wskazanego

przez instrukcję INFILE)

Wybrane „idiomy” programisty

♦ Wybieramy obserwacje

♦ Wybieramy zmienne

♦ Tworzenie i modyfikowanie zmiennych

14

♦ Instrukcja OUTPUT

♦ Łączenie data set-ów (stacking, merging)

♦ BY-group processing

♦ Czytanie, pisanie plików zewnętrznych

Page 8: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Wybieramy obserwacjedata male;

set students;

if sex=‘F’ then delete;

run;

data male;

set students;

Zapisz wybrane obserwacje

Używając subsetting IF:

→ usuń obserwację jeśli wyrażenie true;

→ zapisz obserwację jeśli wyrażenie true;

15

set students;

if sex=‘M’;

run;

or:

data male;

set students;

where sex=‘M’;

run;

data male;

set students (where=(sex=‘M’));

run;

→ zapisz obserwację jeśli wyrażenie true;

Używając WHERE (instrujację lub „data set option”)

→ instrukcja WHERE

→ WHERE „data set option”

Wybieramy obserwacjedata male;

set students;

if sex=‘F’ then delete;

run;

data male;

set students;

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5

2 Ian M 3 . 3.0

3 Eva F 2 1 1.5

16

set students;

if sex=‘M’;

run;

or:

data male;

set students;

where sex=‘M’;

run;

data male;

set students (where=(sex=‘M’));

run;

Obs name sex note1 note2 avg

1 Ian M 3 . 3

Page 9: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Wybieramy zmiennedata avg_only;

set students;

drop sex note1 note2;

run;

data avg_only;

set students;

Zapisz tylko wybrane zmienne

Używając instrukcjiDROP, KEEP

17

set students;

keep name avg;

run;

or:

data avg_only;

set students (drop= sex note1 note2);

run;

data avg_only;

set students (keep= name avg);

run;

Używając „data set options” DROP, KEEP

Wybieramy zmiennedata avg_only;

set students;

drop sex note1 note2;

run;

data avg_only;

set students;

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5

2 Ian M 3 . 3.0

3 Eva F 2 1 1.5

18

set students;

keep name avg;

run;

or:

data avg_only;

set students (drop= sex note1 note2);

run;

data avg_only;

set students (keep= name avg);

run;

Obs name avg

1 Anna 4.5

2 Ian 3.0

3 Eva 1.5

Page 10: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Tworzymy nowe zmiennedata pass (drop= sex note1 note2

avg);

set students;

if avg < 2 then result='passed';

else result='failed';

run ;

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5

2 Ian M 3 . 3.0

3 Eva F 2 1 1.5

19

run ;

Obs name result

1 Anna failed

2 Ian failed

3 Eva passed

Tworzymy nowe zmienne

ŻLE:

data pass;

set students (drop= sex note1 note2 avg);

if avg < 2 then

Uwaga: W przykładzie zmienne sex, note1,2 i avg nie są czytane w wejściowego data set, stąd wartość avg jest niezainicjowana w DATA step (czyli jest missing)

Obs name sex note1 note2 avg

20

if avg < 2 then result='passed';

else result='failed';

run ;

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5

2 Ian M 3 . 3.0

3 Eva F 2 1 1.5

Obs name avg result

1 Anna . passed

2 Ian . passed

3 Eva . passed

Page 11: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Instrukcja OUTPUTdata males females;

set students;

if sex='F' then output females ;

if sex='M' then output males ;

drop sex;

run ;

Zapisuje aktualną obserwację do wyjściowego data set

Uwaga: jeśli OUTPUT jest użyty jawnie w DATA step, „implicit OUTPUT”nie działa w data stepie (patrz algorytm DATA step)

21

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5

2 Ian M 3 . 3.0

3 Eva F 2 1 1.5

females males

1 Anna 1 Ian

2 Eva

Instrukcja OUTPUT– generacja danychdata generator;

do x= 1 to 100 ;

y=rannor(- 1);

output;

end;

run ;

Uwaga: nie ma instrukcji podającej źródło danych we (np. SET lub INPUT), stąd wykona się jedna iteracja gł. pętli DATA step

Wynik: 100 liczb losowych z rozkładu normalnego N(0,1)

22

normalnego N(0,1)

Obs x y

1 1 0.52813

2 2 0.51177

...

...

99 99 -0.23971

100 100 0.92665

Page 12: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Łączenie Data Set-ów(instrukcja SET)data all;

set males females;

run ;

data all2;

set males(in=m) females(in=f);

Przetwarzaj obserwacje z pierwszego data set, potem z drugiego itd.

Rozróżnianie z którego zbioru pochodzi dana obserwacja:– males(in=m) tworzy zmienną

automatycznąm(m=1 dla obserwacji ze zbioru males ; m=0 w przeciwnym przypadku)

23

set males(in=m) females(in=f);

if m then sex=‘M’;

if f then sex=‘F’;

run ;

przypadku) – Uwaga: zmienne automatyczne (m and

f) nie są zapisywane do wyjściowego data set

Obs name note1 note2 avg sex

1 Ian 3 . 3.0 M

2 Anna 4 5 4.5 F

3 Eva 2 1 1.5 F

Łączenie Data Set-ów(instrukcja MERGE)data lib;

input name $ @ 8 date yymmdd10. title $20. ;

datalines;

Anna 2000/12/14 Hamlet

Anna 2000/12/14 SAS Programming

Witek 2001/07/12 XML

;

„Match-merging” data sets:

Data set STUDENTS:

Obs name sex note1 note2 avg

1 Anna F 4 5 4.5 2 Ian M 3 . 3.0 3 Eva F 2 1 1.5

24

;

run ;

proc sort data=students out=students_sort;

by name;

run ;

data st_books;

merge students_sort lib;

by name;

keep name sex title;

run ;

Data set LIB:

Obs name date title

1 Anna 2000-12-14 Hamlet 2 Anna 2000-12-14 SAS Programming 3 Witek 2001-07-12 XML

Result data set:

Obs name sex title

1 Anna F Hamlet2 Anna F SAS Programming3 Eva F4 Ian M5 Witek XML

Page 13: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

„BY -group Processing” w DATA Stepiedata best_note worst_note;

set exam;

by st_code;

if first.st_code then

output best_note;

if last.st_code then

output worst_note;

„BY-group” jest podzbiorem obserwacji ze wspólną wartością zmiennej „BY-variable” (data set musi być posortowany wg tej zmiennej)

Użycie instrukcji BY w DATA step tworzy zmienne automatyczne, np.

FIRST.st_codeLAST.st_code

25

output worst_note;

keep st_code sem note;

run ;

ustawiane przez DATA step na 1 dla pierwszej (ostatniej) obserwacji w „BY-group-ie”

Data set EXAM:

st_code sem note

1 WS96/97 11 WS96/97 41 WS95/96 62 WS99/00 12 WS00/01 33 WS99/00 13 WS99/00 1...

BY-group

BY-group

Zmienne automatycznePrzykład – sprawdzamy czy nie ma błędnych

danych wejściowych:

data results err_log;

infile ‘C:\temp\results.txt’;

input name $ jump date yymmdd8.;

if _error_ then output err_log ;

Tworzone przez DATA step; nie są częścią Program Data Vectora; nie są zapisywane do wynikowego data set, np.

_N_ - nr iteracje DATA stepu

_ERROR_ - ustawiane na 1 jeśli jest błąd

26

if _error_ then output err_log ;

else output results;

run ;

_ERROR_ - ustawiane na 1 jeśli jest błąd przetwarzania danych (błędne dane we, błąd w operacji matematycznej)

FIRST.by_variable

LAST. by_variable – patrz BY-group processing

Page 14: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Czytanie plików zewnętrznychdata results err_log;

infile ‘C:\temp\results.txt’;

input name $ 1-10 jump @24 date yymmdd8.;

if _error_ then output err_log;

else output results;

run ;

Instrukcja INFILE – wskazuje plik do czytania (może być fizyczna ścieżka lub FILEREF przypisane przez FILENAME fileref ‘path’;

INPUT

27

run ; INPUT– Wczytaj (przynajmniej jedn ą) lini ę

z pliku– Konwertuj lini ę do wartości

zmiennych wg:• Specyfikacji zmiennych, np.

– name $ - character variable– jump, date – numeric variables

• Specyfikacji kolumn, np. – name $ 1-10 – zakres kolumn

• Informaów, np. – date yymmdd. – informat daty

Czytanie plików zewnętrznychdata xy;

input x y;

datalines;

1 2 3

4

5 6 7 8

;

Modyfikacja funkcjonalno ści INPUT:

INPUT var1 var2 var3 @@;

INPUT nie czyta nowej linii jak długo w buforze linii są jeszcze dane nie skonwertowane do zmiennych

Obs x y1 1 2 2 4 5

28

;

run ;

data xy_ok;

input x y @@;

datalines;

1 2 3

4

5 6 7 8

;

run ;

skonwertowane do zmiennych

Obs x y1 1 2 2 3 43 5 64 7 8

Page 15: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Zapis plików zewnętrznychdata _null_; *no data set;

set exam;

file 'c:\temp\exam.txt';

put student_code 1- 4 ', ' sem @24 note 3.1 ;

run;

Instrukcja FILE – wska ż plik do którego nastąpi zapis

Instrukcja PUT – zapisz jedną lini ę do pliku wy, używając FORMAT-ówzmiennych lub FORMAT-ów podanych w instrukcji PUT

29

podanych w instrukcji PUT

data _null_ – nie twórz wyjściowego data set-u

Instrukcja RETAINdata wzrosty_miesieczne;

set gielda; *data kurs mies;

BY mies;

RETAIN pocz;

IF FIRST.mies then pocz =kurs;

IF LAST.mies then DO;

Składnia polecenia RETAIN:

RETAIN var initial_val;

Zmienna var nie będzie inicjowana na ‘missing’ na początku kolejnych iteracji DATA step (warto ść będzie zachowana z poprzedniej iteracji)

30

IF LAST.mies then DO;

Wzrost=kurs-pocz;Output;

end;

run;

zachowana z poprzedniej iteracji)

Również:

var+expression;

Co jest równoważne:

RETAIN var 0;var=SUM(var,expression);

Page 16: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

Estymacja parametryczna rozkładówzmiennych losowych♦ Estymacja na podstawie prób pełnych za pomocą

procedur:– PROC CAPABILITY (z modułu SAS/QC)

– PROC UNIVARIATE (z modułu Base SAS)

31

♦ Estymacja na podstawie prób obciętych– PROC RELIABILITY (z modułu SAS/QC)

PROC CAPABILITYproc capability data=test;

var t;

histogram t /

weibull ;

run ;

Wykonaj analizę parametryczną rozkładu zmiennej t (zmienna numeryczna w zbiorze test)

Polecenie histogram z opcją weibull realizuje dopasowanie rozkładu Weibulla do danych

32

Weibulla do danychW wyniku dostajemy estymowane

parametry rozkładu (patrz np. wykres histogramu z nałożoną funkcj ą gęstości) oraz wyniki testów zgodności rozkładów

Możemy również użyć polecenia cdfplot oraz probplot

Page 17: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

PROC CAPABILITY – histogram i estymowana funkcja gęstości

33

PROC CAPABILITY – test zgodności rozkładów

♦ Jeśli p Value jest mniejsze niż założony poziom istotności testu (np. 0.05), wówczas odrzucamy hipotezę zerową o zgodności rozkładów (czyli badana zmienna t nie ma rozkładu Weibulla)

34

Goodness-of-Fit Tests for Weibull Distribution

Test Statistic DF p Value

Cramer-von Mises W-Sq 0.1169997 Pr > W-Sq 0.063

Anderson-Darling A-Sq 0.8760160 Pr > A-Sq 0.024

Chi-Square Chi-Sq 20.3972448 9 Pr > Chi-Sq 0.016

Page 18: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

PROC CAPABILITY – szacowanie prawdopodobieństwa zdarzenia

proc capability data=test; var t;

spec lsl= 0.8 usl= 1.3;histogram / weibull;

35

run ;

PROC CAPABILITY – szacowanie prawdopodobieństwa zdarzenia

Percent Outside Specifications for Weibull Distribution

Lower Limit Upper LimitLSL 0.800000 USL 1.30000

36

LSL 0.800000 USL 1.30000

Obs Pct < LSL 6.572770Obs Pct > USL 2.816901

Est Pct < LSL 8.967087Est Pct > USL 1.405525

Page 19: Wprowadzenie do programowania w SAS-ie oraz …Wprowadzenie do programowania w SAS-ie oraz estymacji rozkładów 1 Henryk.Maciejewski@pwr.wroc.pl Plan Co to jest SAS System – Moduły

PROC RELIABILITYproc reliability data=test;

distribution Weibull;

pplot t*censor( 1 ) /

covb

cfit = yellow

cframe = ligr

ccensor = red;

Wykonaj analizę parametryczną rozkładu zmiennej t, przy czym obserwacje w zbiorze test, w których zmienna censor przyjmuje wartość 1 należy traktować jako próby obcięte

Polecenie distribution realizuje

37

ccensor = red;

inset / cfill = ywh;

run ;

Polecenie distribution realizuje dopasowanie wskazanego rozkładu do danych

W wyniku dostajemy parametry rozkładu estymowane na podst. próby obciętej oraz wykres pplot, na podstawie którego oceniamy zgodność rozkładów (jeśli próba pochodzi z rozkładu Weibulla, dane powinny układać się wzdłuż prostej).

PROC RELIABILITY - pplot

38