Narzędzia użytkownika

Narzędzia witryny


r_zpd_agreguj_pwe

To jest stara wersja strony!


Obliczanie Porównywalnych Wyników Egzaminacyjnych z PV

Samodzielne obliczanie PWE na dowolnie przez siebie wybranym poziomie agregacji wymaga kilku kroków:

  • określenia, z którego skalowania chcemy skorzystać;
  • pobrania PV uczniów dla wybranego skalowania i roku egzaminu (np. funkcją pobierz_oszacowania();
  • odfiltrowania PV i oznaczenia grup, dla których chcemy obliczyć PWE;
  • obliczenia wariancji populacji;
  • użycia funkcji agreguj_pwe() .

Wybór właściwego skalowania

W bazie może istnieć wiele wersji PV z analiz zrównań, np. warianty obliczone z różnym warunkowaniem.

Wersje te rozróżniane są poprzez skalowanie. Dokładnych informacji o skalowaniu udzielić może ten, kto je wyliczał, czyli Bartek Kondratek. Jako ogólną regułę przyjąć jednak można, że im wyższy numer skalowania, tym bardziej ono aktualne.

Wszystkie dostępne skalowania dla danego egzaminu, które posiadają w bazie oszacowania PV umiejętności uczniów, można pobrać przeszukując listę dostępnych skal i skalowań:

library(ZPD)
src = polacz()
 
pobierz_skale(src) %>%
  filter(
    rodzaj_egzaminu == 'MÓJ RODZAJ EGZAMINU', 
    posiada_pv == TRUE
   ) %>%
  select(id_skali, skalowanie, rodzaj_egzaminu, czesc_egzaminu, rok, data_skalowania, nazwa_skali, opis_skali, opis_skalowania) %>%
  as.data.frame()

gdzie:

Oczywiście listę skal i skalowań można odfiltrować także w inny sposób, dokładając dodatkowe warunki (np. na rok lub część egzaminu.

Kiedy już wybierzemy interesujące nas skalowanie, notujemy parę {id_skali, skalowanie} - będzie nam ona potrzebna do pobrania PV z bazy danych.

Pobieranie PV i oznaczanie grup

Najwygodniej i najbezpieczniej jest pobrać PV wraz ze wszelkimi zmiennymi kontekstowymi potrzebnymi do ich odfiltrowania i oznaczenia grup z użyciem funkcji pakietu ZPD dla R, patrz

Przykład

Pobranie PV ze zrównywania matury z matematyki w 2012 roku (id_skali 728, skalowanie 31000) dla terenu OKE Warszawa (czyli województwa mazowieckiego) z dołączoną informacją o płci (z grupy danych ucziowie):

library(ZPD)
src = polacz()
 
# odfiltruj oszacowania - tylko PV ze skali 728, skalowania 31000 i 2012 roku
pv = pobierz_oszacowania(src)
pv = pv %>% filter(id_skali == 728, skalowanie = 31000, rok == 2012, estymacja == 'PV')
 
# odfiltruj szkoły z województwa mazowieckiego
szkoly = pobierz_szkoly(src)
szkoly = szkoly %>% filter(wojewodztwo == 'mazowieckie')
# do połączenia z grupą "oszacowania" wystarczą kolumny id_szkoly i rok
# patrz zalecenia przy korzystaniu z grupy "szkoły"
szkoly = szkoly %>% select(id_szkoly, rok)
 
# grupa uczniowie
uczniowie = pobierz_uczniow(src)
 
# złącz obie grupy danych złączeniem inner_join
# pozostaną tylko PV uczniów ze szkół w woj. mazowieckim
pv = inner_join(pv, szkoly)
# dołącz informacje o uczniach
pv = inner_join(pv, uczniowie)
 
# pobierz pv na komputer (może zająć kilkanaście minut)
pv = pv %>% collect()

Obliczanie wariancji populacji

Wariancję populacji obliczamy korzystając z funkcji oblicz_wariancje_populacji() z pakietu ZPD dla R:

# zakłając, że PV znajdują się w ramce danych "pv"
warPop = oblicz_wariancje_populacji(pv)

Wariancję populacji należy obliczać na zestawie PV zawierającym już jedynie interesującą nas populację, np. jeśli interesują nas jedynie PWE dla szkół w województwie mazowieckim (a więc populację definiujemy jako uczniowie uczęszczający do szkół w województwie mazowieckim), to:

  • najpierw odfiltrujmy PV tak, by pozostały nam jedynie PV uczniów z województwa mazowieckiego,
  • dopiero na tak odfiltrowanym zbiorze PV obliczmy wariancję populacji.

Jeśli chcemy otrzymać oszacowania błędów standardowych zgodne z tymi na stronie http://pwe.ibe.edu.pl, wtedy nasza definicja populacji musi się pokrywać z definicją użytą przy wyliczaniu PWE opublikowanych na stronie http://pwe.ibe.edu.pl:

  • w wypadku sprawdzianu i egzaminu gimnazjalnego - wszyscy uczniowie podchodzący w danym roku do egzaminu;
  • w wypadku matur - wszyscy uczniowie podchodzący w danym roku do egzaminu po raz pierwszy.

Obliczenie PWE

Teraz wystarczy już tylko użyć funkcji agreguj_pwe():

pwe = agreguj_pwe(pv, {kolumny grup}, warPop)

gdzie:

  • pv to ramka danych z poranymi PV i dołączonymi informacjami o grupach;
  • {kolumny grup} to wektor nazw kolumn w ramce danych pv wyznaczających grupy, np.
    # w podziale na szkoły wyznaczanym przez zmienną id_szkoly
    agreguj_pwe(pv, 'id_szkoly', blZrwn, warPop)
    # w podziale na szkoły i płeć wyznaczanym przez zmienne id_szkoly i plec
    agreguj_pwe(pv, c('id_szkoly', 'plec'), blZrwn, warPop)
  • warPop to obliczone wcześniej błąd zrównywania i wariancja populacji.

Dlaczego obliczone wartości nie zgadzają się z prezentowanymi w serwisie pwe.ibe.edu.pl?

PWE dla Polski

Średnie dla całego kraju prezentowane w serwisie http://pwe.ibe.edu.pl mogą różnić się od średnich obliczonych samodzielnie na podstawie PV z dwóch powodów:

  • Średnie dla kraju w serwisie http://pwe.ibe.edu.pl nie są obliczane z PV, lecz brane z parametrów grup w modelu IRT, którym zrównano wyniki.
    • Podczas obliczania wartości w. w. parametrów używany jest węższy zakres informacji niż podczas generowania PV uczniów:
      • podczas estymacji modelu IRT brane są pod uwagę jedynie odpowiedzi uczniów na zadania oraz ich podział na grupy (rok, w którym pisali egzamin, a w wypadku matury z języka polskiego także temat pisanego wypracowania);
      • podczas generowania PV brane są pod uwagę także wszelkie inne dostępne informacje o uczniach, np. szkoła, do której uczęszczali, gmina, w której szkoła ta się znajdowała, płeć ucznia, dysleksja, bycie laureatem konkursu przedmiotowego, itp.
    • Powoduje to, że wartości obliczane na podstawie PV mogą nieznacznie (najczęściej dopiero na drugim miejscu po przecinku, rzadziej na pierwszym) różnić się parametrów grup obliczonych w modelu zrównującym.
      • W szczególności średnia dla kraju w 2012 roku obliczona z PV nie będzie wynosić dokładnie 100.
    • Parametry grup odczytać można z grupy danych parametry.
      • Np. dla skalowania 22001 na skali 854 (egzamin gimnazjalny - część humanistyczna):
        library(ZPD)
        src = polacz()
        pobierz_parametry(src) %>%
          filter(id_skali == 854 , skalowanie == 22001) %>% 
          as.data.frame()
      • poszukiwane średnie dla kraju to wartości (kolumna wartosc) parametrów zrwn_mean_RRRR
  • Inaczej zdefiniowanej populacji - patrz następny rozdział

PWE dla szkół, gmin, itd.

W tym wypadku problemem może być inaczej zdefiniowana populacja, w szczególności:

  • W wypadku matury populacja dla wyników prezentowanych w serwisie http://pwe.ibe.edu.pl zdefiniowana została jako uczniowie, którzy po raz pierwszy podchodzą do matury w danym roku.
    • Aby odfiltrować uczniów podchodzących do egzaminu po raz kolejny, należy dołączyć dane kontekstowe z grupy danych uczniowieTesty i usunąć uczniów, dla których wartość kolumny pop_podejscie nie jest brakiem danych.
r_zpd_agreguj_pwe.1426024817.txt.gz · ostatnio zmienione: 2015/03/10 23:00 przez zozlak