Prace dyplomowe · Zarządzanie i ekonomia

Statystyka w pracy z zarządzania i ekonomii – ankieta, regresja i proste modele ekonometryczne

Piszesz pracę z zarządzania, finansów albo ekonomii? Na dwóch przykładach – ankiecie wśród 240 pracowników i modelu cen mieszkań w 150 powiatach – pokazujemy rzetelność skal, regresję wieloraką i logistyczną, weryfikację modelu ekonometrycznego (Jarque–Bera, Breusch–Pagan, RESET, VIF), model log-log z elastycznościami, kod R i gotowe opisy wyników.

Strona główna / Blog / Statystyka w pracy z zarządzania i ekonomii
W skrócie: W pracach z zarządzania i ekonomii najczęściej spotkasz dwa typy analiz: ankietę (rzetelność skal Likerta, korelacje, regresja wieloraka ze zmiennymi kontrolnymi, regresja logistyczna dla odpowiedzi tak/nie) i model ekonometryczny na danych wtórnych (specyfikacja, MNK, weryfikacja). Model zweryfikuj testami istotności, normalności reszt (Jarque–Bera), heteroskedastyczności (Breusch–Pagan, błędy HC3), postaci funkcyjnej (RESET) i współliniowości (VIF). Gdy zmienne są skośne, a zależności proporcjonalne, użyj modelu log-log – jego współczynniki to elastyczności. Wyniki z danych przekrojowych opisuj jako związki, a nie skutki.

Dwa typy prac empirycznych w zarządzaniu i ekonomii

W pracy z zarządzania, finansów czy ekonomii promotor oczekuje części empirycznej z analizą statystyczną. Najczęściej spotkasz dwa typy prac. W pierwszym zbierasz własne dane – ankietę wśród pracowników, klientów lub menedżerów – i sprawdzasz związki między konstruktami mierzonymi skalami. W drugim korzystasz z danych wtórnych, np. ze statystyki publicznej albo ze sprawozdań firm, i budujesz model ekonometryczny. Oba typy prowadzą do regresji, ale różnią się danymi, pułapkami i tym, co trzeba pokazać w rozdziale wyników.

Przechodzimy przez oba typy na przykładach (dane symulowane): ankiecie wśród 240 pracowników z trzech branż i modelu cen mieszkań w 150 powiatach; wszystkie liczby pochodzą z kodu w sekcji Przykład w R. Podstaw regresji nie powtarzamy – pełną procedurę z diagnostyką reszt i interpretacją b, β i sr² opisuje poradnik regresja wieloraka krok po kroku.

Porównanie dwóch typów prac empirycznych w zarządzaniu i ekonomii
ElementAnkieta (dane pierwotne)Dane wtórne i model ekonometryczny
Jednostka obserwacjipracownik, klient, menedżerpowiat, gmina, firma, rok
Typowe zmiennewyniki skal Likerta (satysfakcja, zaangażowanie, intencja odejścia), staż, branżawskaźniki: wynagrodzenia, ceny, bezrobocie, sprzedaż, koszty
Główne analizyrzetelność skal, korelacje, regresja wieloraka i logistycznaMNK, testy diagnostyczne, model log-log
Główne zagrożeniadobór próby, wspólna metoda pomiaru, dzielenie skal na grupyzła postać funkcyjna, heteroskedastyczność, endogeniczność, trendy w szeregach czasowych
Co raportujeszα i ω, M, SD, r, b i OR z 95% CIwspółczynniki (często elastyczności) z błędami standardowymi, R², wyniki testów diagnostycznych

Rzadszy, trzeci typ pracy to segmentacja klientów albo pracowników – podział respondentów na grupy o podobnych profilach odpowiedzi. Jak przeprowadzić ją analizą skupień k-średnich albo analizą profili latentnych i jak uniknąć typowych pułapek, pokazujemy w poradniku segmentacja respondentów.

Typ 1: ankieta wśród pracowników – konstrukty, hipotezy i pułapki

Typowy temat brzmi: „Satysfakcja z pracy i zaangażowanie a intencja odejścia pracowników”. Takie konstrukty mierzy się kilkoma stwierdzeniami ocenianymi na skali Likerta, a wynikiem skali jest średnia (albo suma) odpowiedzi. Jeśli to możliwe, użyj skal o sprawdzonych właściwościach psychometrycznych, zamiast układać pytania od zera (zob. jak zrobić ankietę do pracy dyplomowej).

W przykładzie 240 pracowników (82 z produkcji, 98 z handlu i 60 z usług) wypełniło cztery skale 1–5: satysfakcję z pracy (5 pozycji, w tym jedna sformułowana odwrotnie), zaangażowanie w pracę (5 pozycji), wsparcie przełożonego (4) i intencję odejścia (3). Badani podali też staż w firmie i odpowiedzieli na pytanie „Czy w ciągu najbliższych 12 miesięcy planujesz zmienić pracodawcę?”. Odpowiedź „tak” zaznaczyło 55 osób (22.9%). Hipotezy:

  • H1. Wyższa satysfakcja z pracy i wyższe zaangażowanie wiążą się z niższą intencją odejścia przy kontroli stażu i branży.
  • H2. Satysfakcja, zaangażowanie i wsparcie przełożonego wyjaśniają intencję odejścia w stopniu wykraczającym poza zmienne kontrolne.
  • H3. Osoby bardziej zadowolone z pracy rzadziej deklarują plan zmiany pracodawcy w ciągu roku.

Już na etapie projektu zaplanuj, jak poradzisz sobie z czterema pułapkami typowymi dla ankiet w organizacjach.

  • Dobór próby. Ankieta rozesłana znajomym albo w jednej firmie opisuje tę grupę, a nie „pracowników w Polsce”. Stantcheva (2023) w przewodniku po badaniach ankietowych dla ekonomistów omawia m.in. dobór próby, porzucanie ankiety, nieuważne odpowiedzi i tendencyjność odpowiedzi – to dobra lista kontrolna przed startem badania.
  • Wspólna metoda pomiaru. Gdy satysfakcję, zaangażowanie i intencję odejścia mierzysz w jednej ankiecie u tych samych osób, część korelacji może wynikać z samego sposobu pomiaru, a nie z powiązań między konstruktami. Podsakoff i in. (2003) opisują źródła tego zjawiska oraz proceduralne i statystyczne sposoby jego ograniczania. Zadbaj przynajmniej o anonimowość, oddziel w kwestionariuszu skale predyktorów od skali wyniku i opisz to ograniczenie w dyskusji.
  • Nie dziel skali na „tak” i „nie”. Jeśli potrzebujesz wyniku dwuwartościowego, zadaj osobne pytanie, tak jak tu o plan zmiany pracodawcy. Dzielenie wyniku skali medianą lub innym punktem odcięcia MacCallum i in. (2002) uznają za rzadko uzasadnione i często prowadzące do mylących wyników (zob. skala dychotomiczna).
  • Zmienne kontrolne z uzasadnieniem. Staż i branżę kontrolujemy, bo mogą wiązać się i z predyktorami, i z intencją odejścia. Spector i Brannick (2011) nazywają automatyczne dorzucanie zmiennych kontrolnych „metodologiczną miejską legendą” i zalecają jawne określenie roli każdej z nich oraz dopasowanie zmiennych i analiz do hipotez.

Rzetelność skal i korelacje

Zacznij od przygotowania danych: odwróć pozycję sformułowaną negatywnie (na skali 1–5 nowa wartość to 6 minus stara), sprawdź braki i zakresy, a dopiero potem licz wyniki skal. Rzetelność każdej skali oceń współczynnikiem α Cronbacha i ω McDonalda. Dunn i in. (2014) proponują ω jako praktyczną alternatywę dla α, łatwą do policzenia w darmowym oprogramowaniu. Szerzej piszemy o tym w poradniku alfa Cronbacha: jak oceniać rzetelność skali i w haśle omega McDonalda.

Rzetelność czterech skal w badaniu pracowników (N = 240)
SkalaLiczba pozycjiα Cronbachaω McDonalda
Satysfakcja z pracy5.86.86
Zaangażowanie w pracę5.85.85
Wsparcie przełożonego4.86.86
Intencja odejścia3.85.85

Wszystkie skale miały wysoką spójność wewnętrzną. Kolejny krok to statystyki opisowe i korelacje Pearsona.

Statystyki opisowe i korelacje zmiennych w badaniu pracowników (N = 240)
ZmiennaMSD1234
1. Satysfakcja z pracy (1–5)3.060.80—
2. Zaangażowanie w pracę (1–5)3.310.76.42—
3. Wsparcie przełożonego (1–5)3.020.90.51.35—
4. Intencja odejścia (1–5)2.671.04−.51−.41−.34—
5. Staż w firmie (lata)6.605.33.11.09.04−.30

Intencja odejścia była tym niższa, im wyższe były satysfakcja (r = −.51), zaangażowanie (r = −.41), wsparcie przełożonego (r = −.34) i staż (r = −.30); wszystkie te korelacje były istotne, p < .001. Staż nie wiązał się istotnie z satysfakcją (p = .088), zaangażowaniem (p = .174) ani wsparciem (p = .561). Satysfakcja korelowała ze wsparciem przełożonego (r = .51), więc w modelu wielorakim ich współczynniki będą słabsze, niż sugerują same korelacje.

Regresja wieloraka z kontrolą stażu i branży

H1 i H2 sprawdza regresja wieloraka w wersji hierarchicznej: w kroku 1 wprowadzasz zmienne kontrolne, w kroku 2 – predyktory z hipotez (zob. regresja hierarchiczna). Branża ma trzy kategorie, więc wchodzi do modelu jako dwie zmienne zero-jedynkowe z produkcją jako kategorią odniesienia (dummy coding). Model końcowy ma postać:

intencja = b0 + b1 × staż + b2 × handel + b3 × usługi + b4 × satysfakcja + b5 × zaangażowanie + b6 × wsparcie + e

Zmienne kontrolne wyjaśniały 13% wariancji intencji odejścia, R² = .13, F(3, 236) = 12.00, p < .001. Dodanie satysfakcji, zaangażowania i wsparcia zwiększyło wyjaśnioną wariancję o 28 punktów procentowych, ΔR² = .28, F(3, 233) = 36.53, p < .001, do R² = .41 (skorygowane R² = .39), F(6, 233) = 26.97, p < .001.

Współczynniki modelu końcowego regresji intencji odejścia
Predyktorb95% CI dla bβt(233)p
Stała5.32[4.77, 5.87]—19.20< .001
Staż w firmie (lata)−0.04[−0.06, −0.02]−0.21−4.12< .001
Handel (vs produkcja)0.51[0.27, 0.75]0.504.20< .001
Usługi (vs produkcja)0.23[−0.04, 0.50]0.221.66.098
Satysfakcja z pracy−0.46[−0.62, −0.30]−0.35−5.72< .001
Zaangażowanie w pracę−0.28[−0.44, −0.13]−0.21−3.69< .001
Wsparcie przełożonego−0.10[−0.24, 0.03]−0.09−1.48.140

Jak czytać te liczby w języku zarządzania:

  • Satysfakcja, b = −0.46. Osoby z tej samej branży, o tym samym stażu, zaangażowaniu i wsparciu, różniące się o 1 punkt satysfakcji, różnią się przeciętnie o 0.46 punktu intencji odejścia. To najsilniejszy predyktor (β = −0.35).
  • Zaangażowanie, b = −0.28. Wyższe zaangażowanie wiąże się z niższą intencją odejścia także przy tej samej satysfakcji.
  • Wsparcie przełożonego, b = −0.10, p = .140. Wsparcie korelowało z intencją odejścia (r = −.34), ale po uwzględnieniu satysfakcji i zaangażowania jego unikalny związek był nieistotny. Być może wsparcie wiąże się z intencją za pośrednictwem satysfakcji – to jednak hipoteza do osobnego sprawdzenia (zob. analiza mediacji krok po kroku), a nie wniosek z tego modelu.
  • Staż i branża. Każdy rok pracy w firmie wiąże się z intencją niższą średnio o 0.04 punktu (10 lat – o 0.41 punktu), a w handlu intencja była o 0.51 punktu wyższa niż w produkcji; różnica między usługami a produkcją była nieistotna.

β dla branży to różnica w odchyleniach standardowych intencji (zmiennych zero-jedynkowych nie standaryzowano). Pełną diagnostykę modelu pokazujemy w poradniku o regresji wielorakiej; tutaj wartości VIF wynosiły od 1.04 do 1.50, a błędy standardowe odporne na heteroskedastyczność (HC3) nie zmieniły żadnego wniosku.

Regresja logistyczna: kto planuje zmienić pracodawcę?

H3 dotyczy odpowiedzi „tak” albo „nie”, więc potrzebujesz regresji logistycznej. Model z tymi samymi predyktorami był istotnie lepszy od modelu bez predyktorów, χ²(6) = 32.76, p < .001, a R² Nagelkerkego wyniosło .19 (Coxa i Snella – .13). Wyniki czytasz jako ilorazy szans (OR):

  • Satysfakcja: OR = 0.52, 95% CI [0.31, 0.84], p = .010. Każdy punkt satysfakcji więcej wiąże się z szansami na plan odejścia mniejszymi o 48.5%.
  • Zaangażowanie: OR = 0.51, 95% CI [0.31, 0.82], p = .006.
  • Handel vs produkcja: OR = 2.23, 95% CI [1.05, 4.93], p = .042 – szanse na plan odejścia były w handlu ok. 2.2 razy większe (plan zgłosiło 30.6% osób z handlu i 18.3% z produkcji). Wsparcie, staż i usługi nie miały istotnego związku z planem.

Ilorazy szans trudno przełożyć na decyzje, dlatego pokaż przewidywane prawdopodobieństwa. Dla pracownika handlu ze stażem 4 lat oraz przeciętnym zaangażowaniem i wsparciem przewidywany odsetek osób planujących odejście wynosi 43.7% przy satysfakcji równej 2, 28.6% przy satysfakcji 3 i 17.1% przy satysfakcji 4 (95% CI odpowiednio [28.5, 60.2], [19.8, 39.3] i [9.1, 29.8]). Szerokie przedziały przypominają, że model opiera się na 55 osobach z planem odejścia.

Ile zdarzeń wystarczy? Popularna reguła mówi o co najmniej 10 zdarzeniach na parametr (EPV); tu EPV = 55/6 = 9.2. Van Smeden i in. (2016) pokazali jednak, że dowody na rzecz reguł EPV są słabe, a problemy małych prób zależą także od całkowitej liczebności próby. Przy kilkudziesięciu zdarzeniach nie dodawaj więc predyktorów „na wszelki wypadek”. Założenia i raportowanie tego modelu omawiamy w poradniku regresja logistyczna: założenia, interpretacja i raportowanie.

Rysunek 1 zestawia oba modele. Ten sam predyktor może dawać różne odpowiedzi dla różnych wyników: staż wiązał się z niższą intencją odejścia mierzoną skalą, ale nie z planem zmiany pracodawcy.

Dwa wykresy współczynników z 95% przedziałami ufności dla 240 pracowników. Regresja liniowa intencji odejścia: satysfakcja −0.46 [−0.62, −0.30], zaangażowanie −0.28 [−0.44, −0.13], wsparcie −0.10 [−0.24, 0.03], staż −0.04 [−0.06, −0.02], handel vs produkcja 0.51 [0.27, 0.75], usługi vs produkcja 0.23 [−0.04, 0.50]. Regresja logistyczna planu odejścia: ilorazy szans dla satysfakcji 0.52 [0.31, 0.84], zaangażowania 0.51 [0.31, 0.82], wsparcia 1.05 [0.69, 1.61], stażu 0.99 [0.93, 1.06], handlu 2.23 [1.05, 4.93] i usług 1.04 [0.40, 2.64]
Rysunek 1. Współczynniki dwóch modeli z tymi samymi predyktorami (N = 240). A: b z regresji liniowej intencji odejścia (linia przerywana: b = 0). B: ilorazy szans z regresji logistycznej planu zmiany pracodawcy, skala logarytmiczna (linia przerywana: OR = 1). Puste punkty – przedział ufności obejmuje brak związku. Obliczenia: R (dane symulowane).

Jak opisać wyniki ankiety w pracy (APA)

Podaj kolejno rzetelność skal, statystyki opisowe i korelacje, a potem wyniki obu modeli z przedziałami ufności:

Spójność wewnętrzna skal była wysoka: satysfakcja z pracy α = .86, ω = .86; zaangażowanie w pracę α = .85, ω = .85; wsparcie przełożonego α = .86, ω = .86; intencja odejścia α = .85, ω = .85. Aby sprawdzić, czy satysfakcja, zaangażowanie i wsparcie przełożonego wiążą się z intencją odejścia ponad staż i branżę, przeprowadzono dwuetapową hierarchiczną analizę regresji liniowej (N = 240). Zmienne kontrolne wyjaśniały 13% wariancji intencji odejścia, R² = .13, F(3, 236) = 12.00, p < .001. Dodanie predyktorów w drugim kroku zwiększyło wyjaśnioną wariancję o 28 punktów procentowych, ΔR² = .28, F(3, 233) = 36.53, p < .001; model końcowy wyjaśniał 41% wariancji, R² = .41, skorygowane R² = .39. Przy kontroli pozostałych zmiennych wyższa satysfakcja, b = −0.46, 95% CI [−0.62, −0.30], β = −0.35, p < .001, i wyższe zaangażowanie, b = −0.28, 95% CI [−0.44, −0.13], β = −0.21, p < .001, wiązały się z niższą intencją odejścia, natomiast związek wsparcia przełożonego był nieistotny, b = −0.10, 95% CI [−0.24, 0.03], p = .140. W regresji logistycznej planu zmiany pracodawcy w ciągu 12 miesięcy (55 osób, 22.9%) model był istotny, χ²(6) = 32.76, p < .001, R² Nagelkerkego = .19. Wyższa satysfakcja, OR = 0.52, 95% CI [0.31, 0.84], p = .010, i wyższe zaangażowanie, OR = 0.51, 95% CI [0.31, 0.82], p = .006, wiązały się z mniejszymi szansami na plan odejścia, a w handlu szanse te były większe niż w produkcji, OR = 2.23, 95% CI [1.05, 4.93], p = .042.

Tabele wyników przygotujesz według wzorów z haseł tabela regresji liniowej w APA i tabela regresji logistycznej w APA, a ogólne zasady zapisu statystyk znajdziesz w poradniku jak opisać wyniki w stylu APA.

Typ 2: dane wtórne i specyfikacja modelu ekonometrycznego

W pracach z ekonomii i finansów często korzystasz z gotowych zestawień danych. Podstawowym publicznym źródłem danych regionalnych jest Bank Danych Lokalnych GUS. Według opisu na stronie GUS to największa w Polsce baza danych o gospodarce, społeczeństwie i środowisku; pierwsze dane pochodzą z 1995 roku, a wskaźniki opisują m.in. gminy, powiaty, województwa i cały kraj. Dane są pogrupowane w kategorie tematyczne, m.in. rynek pracy, wynagrodzenia i świadczenia społeczne oraz rynek nieruchomości (Główny Urząd Statystyczny, b.d.). Dane są dostępne także przez API, na licencji Creative Commons BY 4.0, która wymaga podania źródła.

Zanim cokolwiek pobierzesz, ustal jednostkę obserwacji i rodzaj danych. Dane przekrojowe to wiele jednostek w jednym okresie (np. powiaty w jednym roku), szeregi czasowe – jedna jednostka w wielu okresach (zob. szereg czasowy), a dane panelowe – wiele jednostek w wielu okresach. Od tego zależą metody: w przekroju martwisz się głównie postacią funkcyjną i heteroskedastycznością, w szeregach czasowych – trendem i autokorelacją reszt.

Specyfikacja to decyzja, które zmienne i w jakiej postaci wchodzą do modelu. Podejmij ją przed estymacją, na podstawie teorii i wcześniejszych badań, i wypisz oczekiwane znaki współczynników zamiast wrzucać do modelu wszystko, co udało się pobrać. W przykładzie (dane symulowane dla 150 powiatów, w tym 24 miast na prawach powiatu) pytamy, z czym wiążą się ceny mieszkań.

Zmienne modelu ekonometrycznego cen mieszkań w powiatach
ZmiennaRolaOczekiwany znak i uzasadnienieRozkład w próbie
Średnia cena 1 m² mieszkania (zł)objaśniana—M = 5 990, SD = 2 054; od 2 700 do 13 090
Przeciętne miesięczne wynagrodzenie brutto (zł)objaśniająca+ (wyższe dochody, większy popyt na mieszkania)M = 7 251, SD = 922; od 5 190 do 10 020
Gęstość zaludnienia (os./km²)objaśniająca+ (mniej wolnych terenów, popyt w aglomeracjach)Mdn = 96; od 28 do 2 163
Stopa bezrobocia (%)objaśniająca− (słabszy rynek pracy, mniejszy popyt)M = 6.81, SD = 3.10; od 1.5 do 16.6

Najprostsza specyfikacja to model liniowy, w którym wszystkie zmienne wchodzą w jednostkach naturalnych, a jego parametry szacuje metoda najmniejszych kwadratów (MNK):

cena = β0 + β1 × wynagrodzenie + β2 × gęstość + β3 × bezrobocie + ε

Wszystkie oszacowania mają oczekiwane znaki i są istotne. Wynagrodzenie wyższe o 100 zł wiąże się z ceną wyższą o 128.4 zł za m², każda dodatkowa osoba na km² – z ceną wyższą o 1.47 zł, a każdy punkt procentowy bezrobocia – z ceną niższą o 123 zł; R² = .82. Wysokie R² i istotne współczynniki nie oznaczają jednak, że model jest poprawny.

Weryfikacja modelu ekonometrycznego krok po kroku

Weryfikacja sprawdza, czy model spełnia założenia, od których zależą błędy standardowe, testy i interpretacja. Większość kroków dotyczy reszt modelu, a nie surowych zmiennych; ostatni krok dotyczy tylko szeregów czasowych.

Kroki weryfikacji modelu ekonometrycznego
KrokPytanieNarzędzie w RGdy wynik jest zły
1. DopasowanieCzy model wyjaśnia więcej niż sama średnia?R², skorygowane R², test F (summary())Wróć do specyfikacji
2. Istotność i znakiCzy współczynniki są istotne i mają oczekiwane znaki?testy t (summary())Sprawdź dane, współliniowość i teorię
3. Normalność resztCzy reszty mają rozkład zbliżony do normalnego?test Jarque–Bera (własna funkcja), wykres Q-QPrzekształć zmienne, sprawdź obserwacje odstające
4. HomoskedastycznośćCzy rozrzut reszt jest stały?test Breuscha–Pagana (bptest()), wykres resztBłędy standardowe HC3, przekształcenie zmiennych
5. Postać funkcyjnaCzy zależności są liniowe?test RESET (resettest())Logarytmy, składnik kwadratowy
6. WspółliniowośćCzy predyktory się nie powielają?VIF (vif())Połącz lub usuń zmienne mierzące to samo
7. Autokorelacja (szeregi czasowe)Czy reszty kolejnych okresów są skorelowane?test Durbina–Watsona lub Breuscha–GodfreyaModele dla szeregów czasowych

Normalność reszt: test Jarque–Bera

Test Jarque–Bera (Jarque i Bera, 1987) łączy dwie miary kształtu rozkładu reszt: skośność S i kurtozę K. Przy rozkładzie normalnym S = 0 i K = 3, a statystyka

JB = (n / 6) × [S² + (K − 3)² / 4]

ma w przybliżeniu rozkład χ² z dwoma stopniami swobody (kod: przepis 3). W modelu liniowym S = 0.53, K = 4.31, JB = 17.86, p < .001: reszty są prawostronnie skośne i mają grubsze ogony niż rozkład normalny.

Heteroskedastyczność: test Breuscha–Pagana i błędy HC3

Test Breuscha–Pagana sprawdza, czy wariancja składnika losowego zależy od zmiennych objaśniających; statystykę liczy się prosto z reszt MNK (Breusch i Pagan, 1979), a bptest() domyślnie podaje jej wersję studentyzowaną. W modelu liniowym BP = 15.92, df = 3, p = .001: rozrzut reszt rośnie wraz z poziomem cen (rysunek 2, panel A), czyli występuje heteroskedastyczność.

Heteroskedastyczność nie obciąża współczynników MNK, ale zaburza ich błędy standardowe, a więc testy i przedziały ufności. Long i Ervin (2000) pokazali w symulacjach, że błędy standardowe HC3 działają dobrze nawet przy N = 25, i zalecają je przy N ≤ 250 zawsze, gdy można podejrzewać heteroskedastyczność. Tu HC3 zwiększyło błąd standardowy współczynnika gęstości z 0.20 do 0.29 (o 44.5%), ale wszystkie wartości p pozostały poniżej .001.

Postać funkcyjna: test RESET

Ramsey (1969) zaproponował procedury wykrywania błędów specyfikacji, m.in. pominiętych zmiennych i niewłaściwej postaci funkcyjnej. W popularnej wersji testu RESET do równania dodaje się kwadrat i sześcian wartości dopasowanych i sprawdza testem F, czy poprawiają dopasowanie. W modelu liniowym F(2, 144) = 4.40, p = .014, więc liniowa postać zależności jest wątpliwa.

Współliniowość

Wartości VIF wynosiły od 1.50 do 1.92, a Kim (2019) jako sygnał problemu podaje VIF powyżej 5–10, więc współliniowość nie jest tu kłopotem. Podsumowując: model liniowy dobrze dopasowuje się do danych, ale nie przechodzi trzech testów. Rysunek 2 pokazuje dlaczego.

Dwa wykresy reszt względem wartości dopasowanych dla 150 powiatów. W modelu liniowym rozrzut reszt rośnie wraz z przewidywaną ceną, linia trendu się wygina, a największe reszty mają miasta na prawach powiatu; test Jarque–Bera p < .001, test Breuscha–Pagana p = .001, RESET p = .014. W modelu log-log rozrzut reszt jest podobny w całym zakresie, a testy są nieistotne: Jarque–Bera p = .627, Breusch–Pagan p = .904, RESET p = .373
Rysunek 2. Reszty względem wartości dopasowanych w modelu liniowym (A) i log-log (B); niebieska linia – wygładzony trend, czerwone punkty – miasta na prawach powiatu. W modelu liniowym rozrzut reszt rośnie wraz z przewidywaną ceną, a trend nie jest płaski; po zlogarytmowaniu zmiennych oba problemy znikają. Obliczenia: R (dane symulowane).

Model log-log i elastyczność

Te trzy objawy sugerują, że zależności są raczej proporcjonalne niż addytywne: wzrost wynagrodzeń o 500 zł znaczy co innego w powiecie z cenami 3 000 zł i 12 000 zł za m². Do tego gęstość zaludnienia ma rozkład silnie prawostronnie skośny (skośność 2.20; mediana 96 os./km², a w miastach na prawach powiatu 1 163.5 os./km²). Rozwiązaniem jest model log-log, w którym logarytmujesz zmienną objaśnianą i zmienne objaśniające wyrażone w złotych lub osobach:

ln(cena) = β0 + β1 × ln(wynagrodzenie) + β2 × ln(gęstość) + β3 × bezrobocie + ε

W takim modelu współczynnik przy zlogarytmowanej zmiennej to elastyczność: o ile procent zmienia się Y, gdy X rośnie o 1%, przy pozostałych zmiennych stałych. Stopę bezrobocia, wyrażoną już w procentach, zostawiamy w poziomach; jej współczynnik to semielastyczność (procentowa zmiana ceny na punkt procentowy bezrobocia).

Interpretacja współczynnika regresji w zależności od postaci modelu
Postać modeluRównanieInterpretacja współczynnika β
LiniowaY = β0 + βXZmiana Y w jednostkach Y na jednostkę X; elastyczność zależy od punktu: β × X/Y
Log-linln Y = β0 + βXZmiana Y o 100 × (eβ − 1)% na jednostkę X (dla małych β ok. 100β%)
Lin-logY = β0 + β ln XZmiana Y o ok. β/100 jednostek, gdy X rośnie o 1%
Log-logln Y = β0 + β ln XElastyczność: zmiana Y o ok. β% przy wzroście X o 1%; przy wzroście o 10% dokładnie (1.1β − 1) × 100%

Model log-log przeszedł wszystkie testy: JB = 0.93, p = .627; BP = 0.57, p = .904; RESET F(2, 144) = 0.99, p = .373; VIF ≤ 1.96; błędy standardowe HC3 różniły się od klasycznych najwyżej o 7.4%. Model wyjaśnia 84% zmienności logarytmu ceny, R² = .84, F(3, 146) = 247.91, p < .001. Tego R² nie porównuj z R² = .82 modelu liniowego, bo zmienna objaśniana jest w innej skali.

  • Wynagrodzenie: β = 1.45, 95% CI [1.25, 1.65]. Wynagrodzenia wyższe o 1% wiążą się z ceną wyższą średnio o 1.45%, a wyższe o 10% – o 14.8%. Elastyczność powyżej 1 oznacza, że ceny różnią się między powiatami proporcjonalnie bardziej niż wynagrodzenia.
  • Gęstość zaludnienia: β = 0.094, 95% CI [0.069, 0.119]. Gęstość wyższa o 10% wiąże się z ceną wyższą o 0.9%, a dwukrotnie wyższa – o 6.7%.
  • Bezrobocie: β = −0.017, 95% CI [−0.026, −0.007]. Każdy punkt procentowy bezrobocia więcej wiąże się z ceną niższą o 1.67%, czyli w powiecie o przeciętnej cenie (5 990 zł/m²) o ok. 100 zł/m².

Przedziały ufności obliczono z błędów HC3. W modelu liniowym elastyczność też da się policzyć, ale zależy od punktu – przy średnich wynosiła 1.55 dla wynagrodzeń i 0.07 dla gęstości – dlatego do pytań o reakcje procentowe lepiej nadaje się model log-log.

Interpretacja w języku biznesu

Wnioski z pracy często trafiają do menedżera albo decydenta. Przetłumacz liczby na jednostki decyzji (punkty skali, procenty, złote, prawdopodobieństwa), podaj niepewność i trzymaj się języka związków, a nie skutków.

Przykłady dobrej i złej interpretacji wyników w języku biznesu
WynikDobrzeŹle
b = −0.46 (satysfakcja a intencja odejścia)„Pracownicy o satysfakcji wyższej o 1 punkt deklarowali intencję odejścia niższą średnio o 0.46 punktu”„Podniesienie satysfakcji o 1 punkt zmniejszy rotację o 0.46”
OR = 2.23 (handel vs produkcja)„W handlu szanse na plan zmiany pracodawcy były ok. 2.2 razy większe niż w produkcji”„Pracownicy handlu 2.2 razy częściej odchodzą z pracy” (OR to nie iloraz prawdopodobieństw, a deklarowany plan to nie odejście)
Elastyczność 1.45 (ceny a wynagrodzenia)„W powiatach o wynagrodzeniach wyższych o 10% ceny 1 m² były średnio o ok. 15% wyższe”„Wzrost płac o 10% podniesie ceny mieszkań o 15%”
−1.67% na punkt procentowy bezrobocia„Każdy punkt procentowy bezrobocia więcej wiązał się z ceną niższą o ok. 1.7%, czyli ok. 100 zł/m² w przeciętnym powiecie”„Bezrobocie obniża ceny mieszkań”

Rekomendacje formułuj warunkowo („wyniki sugerują, że warto monitorować satysfakcję w handlu”), bo badanie przekrojowe nie pokazuje skutków interwencji. Jeśli potrzebujesz pomocy w doborze modelu, sprawdzeniu założeń albo interpretacji, zajrzyj do oferty analiz statystycznych dla studentów – obejmuje ona także modele ekonometryczne i ankiety. Pomoc polega na analizie i jej wyjaśnieniu: wyniki musisz rozumieć i umieć obronić, a korzystanie z konsultacji opisz zgodnie z zasadami swojej uczelni.

Jak opisać model ekonometryczny w pracy

Opis modelu obejmuje specyfikację (zmienne, ich postać, źródło danych, jednostkę i okres), metodę estymacji, wyniki weryfikacji i interpretację współczynników:

Zależność średniej ceny 1 m² mieszkania od przeciętnego wynagrodzenia, gęstości zaludnienia i stopy bezrobocia oszacowano metodą najmniejszych kwadratów na danych przekrojowych dla 150 powiatów. Model liniowy nie przeszedł weryfikacji: reszty odbiegały od rozkładu normalnego (test Jarque–Bera: JB = 17.86, p < .001), ich wariancja nie była stała (test Breuscha–Pagana: BP = 15.92, df = 3, p = .001), a test RESET wskazał na niewłaściwą postać funkcyjną, F(2, 144) = 4.40, p = .014. Dlatego zastosowano model log-log, w którym zlogarytmowano cenę, wynagrodzenie i gęstość zaludnienia. Model ten przeszedł weryfikację (JB = 0.93, p = .627; BP = 0.57, p = .904; RESET: F(2, 144) = 0.99, p = .373; VIF ≤ 1.96) i wyjaśniał 84% zmienności logarytmu ceny, R² = .84, F(3, 146) = 247.91, p < .001. Elastyczność ceny względem wynagrodzenia wyniosła 1.45, 95% CI [1.25, 1.65], co oznacza, że w powiatach o wynagrodzeniach wyższych o 10% ceny były wyższe średnio o 14.8%. Elastyczność względem gęstości zaludnienia wyniosła 0.094, 95% CI [0.069, 0.119], a każdy punkt procentowy stopy bezrobocia wiązał się z ceną niższą o 1.67%, b = −0.017, 95% CI [−0.026, −0.007]. Przedziały ufności obliczono z błędów standardowych odpornych na heteroskedastyczność (HC3). Wyniki opisują związki w przekroju powiatów i nie pozwalają na wnioski przyczynowe.

W pracach ekonomicznych wyniki estymacji często zestawia się w jednej tabeli z kolumną dla każdego modelu i wynikami testów diagnostycznych pod spodem. Wzór:

Tabela 1

Oszacowania MNK modelu liniowego i log-log średniej ceny 1 m² mieszkania w powiatach

ZmiennaModel 1: liniowyModel 2: log-log
bSEbSE
Stała−2892.79***854.87−4.550***0.970
Wynagrodzenie (zł; w modelu 2 – logarytm)1.284***0.1001.447***0.109
Gęstość zaludnienia (os./km²; w modelu 2 – logarytm)1.469***0.2020.094***0.013
Stopa bezrobocia (%)−123.141***32.328−0.017***0.005
R² (skorygowane R²).82 (.81).84 (.83)
F(3, 146)219.55***247.91***
Test Jarque–Bera, χ²(2)17.86***0.93
Test Breuscha–Pagana, χ²(3)15.92**0.57
Test RESET, F(2, 144)4.40*0.99
Największy VIF1.921.96

Uwaga. N = 150 powiatów. W modelu 2 zlogarytmowano cenę, wynagrodzenie i gęstość zaludnienia; współczynniki przy logarytmach to elastyczności, a współczynnik bezrobocia to semielastyczność. SE – klasyczne błędy standardowe; błędy odporne na heteroskedastyczność (HC3) prowadziły do tych samych wniosków. Dane symulowane.
*p < .05. **p < .01. ***p < .001.

Przykład reprodukowalny

Przykład w R

Kod odtwarza wszystkie liczby z tekstu i tabel. Uruchom przepisy po kolei w jednej sesji R – przepis 2 korzysta z danych z przepisu 1, a przepisy 3 i 4 tworzą własne dane. Rysunki na stronie przedstawiają te same modele narysowane w pakietach ggplot2 i patchwork. W swojej pracy zastąp fragmenty tworzące dane symulowane wczytaniem własnego pliku.

1. Ankieta: dane, rzetelność skal i korelacje

Dane wejściowe: 240 pracowników (dane symulowane, set.seed(3151)): 17 pozycji czterech skal 1–5, staż, branża i pytanie o plan zmiany pracodawcy.

Co odczytać: α i ω każdej skali, średnie i odchylenia standardowe wyników skal, liczebności branż, odsetek planujących odejście, macierz korelacji i wartości p.

R
library(psych)   # alpha(), fa(), corr.test()

# Dane symulowane: 240 pracowników z trzech branż. Skale Likerta 1–5: satysfakcja z pracy
# (5 pozycji, sat4 sformułowana odwrotnie), zaangażowanie w pracę (5), wsparcie przełożonego (4),
# intencja odejścia (3); staż w firmie (lata) i pytanie „Czy w ciągu 12 miesięcy planujesz
# zmienić pracodawcę?” (nie/tak). W swojej pracy zamiast tego fragmentu wczytaj plik z danymi.
set.seed(3151)
n <- 240
likert <- function(lat, lad, prog) findInterval(lad * lat + rnorm(length(lat), sd = sqrt(1 - lad^2)), prog) + 1
pozycje <- function(lat, lad, prog, przes = 0) {
  sapply(seq_along(lad), function(i) likert(lat, lad[i], prog + rep_len(przes, length(lad))[i]))
}
branza <- factor(sample(c("produkcja", "handel", "usługi"), n, replace = TRUE, prob = c(0.36, 0.38, 0.26)),
                 levels = c("produkcja", "handel", "usługi"))
staz <- pmin(round(rgamma(n, shape = 1.6, scale = 4)), 30)
wsp_l <- rnorm(n)
sat_l <- 0.50 * wsp_l + rnorm(n, sd = sqrt(0.75))
zaa_l <- as.numeric(scale(0.25 * wsp_l + 0.45 * sat_l + rnorm(n, sd = 0.8)))
int_l <- as.numeric(scale(-0.45 * sat_l - 0.20 * zaa_l - 0.10 * wsp_l - 0.05 * (staz - 6) +
                            0.45 * (branza == "handel") + 0.20 * (branza == "usługi") + rnorm(n, sd = 0.75)))
S <- pozycje(sat_l, c(.80, .78, .75, .70, .80), c(-1.6, -0.7, 0.3, 1.3), c(0, .1, -.1, 0, .2))
S[, 4] <- 6 - S[, 4]                                    # pozycja sformułowana odwrotnie
Z <- pozycje(zaa_l, c(.78, .80, .75, .72, .78), c(-1.8, -0.9, 0.1, 1.2), c(0, .1, -.1, .1, 0))
W <- pozycje(wsp_l, c(.80, .78, .74, .76), c(-1.5, -0.6, 0.4, 1.4))
I <- pozycje(int_l, c(.85, .82, .80), c(-0.9, -0.1, 0.7, 1.5))
colnames(S) <- paste0("sat", 1:5); colnames(Z) <- paste0("zaa", 1:5)
colnames(W) <- paste0("wsp", 1:4); colnames(I) <- paste0("int", 1:3)
ankieta <- data.frame(id = 1:n, branza, staz, S, Z, W, I)
ankieta$plan <- factor(rbinom(n, 1, plogis(-1.05 + 1.35 * int_l - 0.04 * (staz - 6))),
                       levels = 0:1, labels = c("nie", "tak"))

# Krok 1: odwróć pozycję sformułowaną negatywnie (skala 1–5: nowa wartość = 6 − stara)
ankieta$sat4 <- 6 - ankieta$sat4

# Krok 2: rzetelność skal – alfa Cronbacha i omega z modelu jednoczynnikowego
skale <- list(satysfakcja = paste0("sat", 1:5), zaangazowanie = paste0("zaa", 1:5),
              wsparcie = paste0("wsp", 1:4), intencja = paste0("int", 1:3))
omega_t <- function(x) {
  f <- fa(x, nfactors = 1, fm = "ml")
  l <- f$loadings[, 1]
  sum(l)^2 / (sum(l)^2 + sum(f$uniquenesses))
}
round(t(sapply(skale, function(p) c(pozycje = length(p), alfa = alpha(ankieta[p])$total$raw_alpha,
                                     omega = omega_t(ankieta[p])))), 2)

# Krok 3: wyniki skal (średnia z pozycji) i statystyki opisowe
for (s in names(skale)) ankieta[[s]] <- rowMeans(ankieta[skale[[s]]])
zm <- c("satysfakcja", "zaangazowanie", "wsparcie", "intencja", "staz")
round(sapply(ankieta[zm], function(x) c(M = mean(x), SD = sd(x), min = min(x), max = max(x))), 2)
table(ankieta$branza)
table(ankieta$plan)
round(100 * prop.table(table(ankieta$plan)), 1)

# Krok 4: korelacje Pearsona i wartości p (bez korekty)
kor <- corr.test(ankieta[zm], adjust = "none")
round(kor$r, 2)
round(kor$p, 3)
Wynik w R
              pozycje alfa omega
satysfakcja         5 0.86  0.86
zaangazowanie       5 0.85  0.85
wsparcie            4 0.86  0.86
intencja            3 0.85  0.85
    satysfakcja zaangazowanie wsparcie intencja  staz
M          3.06          3.31     3.02     2.67  6.60
SD         0.80          0.76     0.90     1.04  5.33
min        1.00          1.00     1.00     1.00  0.00
max        5.00          5.00     5.00     5.00 30.00

produkcja    handel    usługi 
       82        98        60 

nie tak 
185  55 

 nie  tak 
77.1 22.9 
              satysfakcja zaangazowanie wsparcie intencja  staz
satysfakcja          1.00          0.42     0.51    -0.51  0.11
zaangazowanie        0.42          1.00     0.35    -0.41  0.09
wsparcie             0.51          0.35     1.00    -0.34  0.04
intencja            -0.51         -0.41    -0.34     1.00 -0.30
staz                 0.11          0.09     0.04    -0.30  1.00
              satysfakcja zaangazowanie wsparcie intencja  staz
satysfakcja         0.000         0.000    0.000        0 0.088
zaangazowanie       0.000         0.000    0.000        0 0.174
wsparcie            0.000         0.000    0.000        0 0.561
intencja            0.000         0.000    0.000        0 0.000
staz                0.088         0.174    0.561        0 0.000

2. Regresja hierarchiczna i regresja logistyczna

Dane wejściowe: obiekt ankieta z przepisu 1.

Co odczytać: R² i test F obu kroków, test zmiany R² z anova(m1, m2), współczynniki z przedziałami ufności, β, VIF, wyniki z błędami HC3, a dla regresji logistycznej – ilorazy szans z 95% CI, test ilorazu wiarygodności, R² Coxa–Snella i Nagelkerkego, EPV i przewidywane prawdopodobieństwa.

R
library(car)          # vif()
library(effectsize)   # standardize_parameters()
library(lmtest)       # coeftest()
library(sandwich)     # vcovHC() – odporne błędy standardowe

# Regresja hierarchiczna intencji odejścia (1–5): krok 1 – zmienne kontrolne (staż, branża),
# krok 2 – satysfakcja, zaangażowanie i wsparcie przełożonego. Kategoria odniesienia: produkcja.
m1 <- lm(intencja ~ staz + branza, data = ankieta)
m2 <- update(m1, . ~ . + satysfakcja + zaangazowanie + wsparcie)
summary(m1)
summary(m2)
round(confint(m2), 2)
anova(m1, m2)                                              # test F zmiany R²
round(summary(m2)$r.squared - summary(m1)$r.squared, 3)    # ΔR²
standardize_parameters(m2)                                 # β
vif(m2)
coeftest(m2, vcov. = vcovHC(m2, type = "HC3"))             # sprawdzenie z błędami HC3

# Regresja logistyczna: plan zmiany pracodawcy w ciągu 12 miesięcy (tak = 1)
g1 <- glm(plan ~ satysfakcja + zaangazowanie + wsparcie + staz + branza, family = binomial, data = ankieta)
summary(g1)
round(exp(cbind(OR = coef(g1), confint(g1))), 2)           # ilorazy szans z 95% CI (profilowe)
g0 <- glm(plan ~ 1, family = binomial, data = ankieta)
anova(g0, g1, test = "LRT")                                # test ilorazu wiarygodności modelu
r2_cs <- 1 - exp((g1$deviance - g1$null.deviance) / nrow(ankieta))
round(c(R2_CoxSnell = r2_cs, R2_Nagelkerke = r2_cs / (1 - exp(-g1$null.deviance / nrow(ankieta)))), 3)
zdarzenia <- sum(ankieta$plan == "tak")
c(zdarzenia = zdarzenia, parametry = length(coef(g1)) - 1, EPV = round(zdarzenia / (length(coef(g1)) - 1), 1))

# Przewidywane prawdopodobieństwo planu odejścia: handel, staż 4 lata,
# przeciętne zaangażowanie i wsparcie, satysfakcja 2, 3 lub 4 punkty
nowi <- data.frame(satysfakcja = c(2, 3, 4), zaangazowanie = mean(ankieta$zaangazowanie),
                   wsparcie = mean(ankieta$wsparcie), staz = 4, branza = "handel")
pr <- predict(g1, nowi, type = "link", se.fit = TRUE)
round(data.frame(satysfakcja = nowi$satysfakcja, p = plogis(pr$fit),
                 dolna = plogis(pr$fit - 1.96 * pr$se.fit), gorna = plogis(pr$fit + 1.96 * pr$se.fit)), 3)
Wynik w R
Loading required package: carData

Attaching package: ‘car’

The following object is masked from ‘package:psych’:

    logit


Attaching package: ‘effectsize’

The following object is masked from ‘package:psych’:

    phi

Loading required package: zoo

Attaching package: ‘zoo’

The following objects are masked from ‘package:base’:

    as.Date, as.Date.numeric


Call:
lm(formula = intencja ~ staz + branza, data = ankieta)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.99621 -0.72996 -0.01063  0.69486  2.16324 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept)   2.79053    0.13886  20.096  < 2e-16 ***
staz         -0.05315    0.01194  -4.450 1.32e-05 ***
branzahandel  0.47144    0.14693   3.209  0.00152 ** 
branzausługi  0.13773    0.16513   0.834  0.40507    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.9718 on 236 degrees of freedom
Multiple R-squared:  0.1324,	Adjusted R-squared:  0.1213 
F-statistic:    12 on 3 and 236 DF,  p-value: 2.431e-07


Call:
lm(formula = intencja ~ staz + branza + satysfakcja + zaangazowanie + 
    wsparcie, data = ankieta)

Residuals:
     Min       1Q   Median       3Q      Max 
-1.86811 -0.57661 -0.04426  0.54039  2.01384 

Coefficients:
               Estimate Std. Error t value Pr(>|t|)    
(Intercept)    5.321085   0.277188  19.197  < 2e-16 ***
staz          -0.041188   0.009987  -4.124 5.18e-05 ***
branzahandel   0.513715   0.122234   4.203 3.76e-05 ***
branzausługi   0.229249   0.137862   1.663 0.097679 .  
satysfakcja   -0.457640   0.080000  -5.721 3.24e-08 ***
zaangazowanie -0.284974   0.077296  -3.687 0.000283 ***
wsparcie      -0.102157   0.069021  -1.480 0.140200    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.8066 on 233 degrees of freedom
Multiple R-squared:  0.4099,	Adjusted R-squared:  0.3947 
F-statistic: 26.97 on 6 and 233 DF,  p-value: < 2.2e-16

              2.5 % 97.5 %
(Intercept)    4.77   5.87
staz          -0.06  -0.02
branzahandel   0.27   0.75
branzausługi  -0.04   0.50
satysfakcja   -0.62  -0.30
zaangazowanie -0.44  -0.13
wsparcie      -0.24   0.03
Analysis of Variance Table

Model 1: intencja ~ staz + branza
Model 2: intencja ~ staz + branza + satysfakcja + zaangazowanie + wsparcie
  Res.Df    RSS Df Sum of Sq      F    Pr(>F)    
1    236 222.88                                  
2    233 151.59  3    71.293 36.527 < 2.2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
[1] 0.278
# Standardization method: refit

Parameter       | Std. Coef. |         95% CI
---------------------------------------------
(Intercept)     |      -0.26 | [-0.43, -0.09]
staz            |      -0.21 | [-0.31, -0.11]
branza [handel] |       0.50 | [ 0.26,  0.73]
branza [usługi] |       0.22 | [-0.04,  0.48]
satysfakcja     |      -0.35 | [-0.47, -0.23]
zaangazowanie   |      -0.21 | [-0.32, -0.10]
wsparcie        |      -0.09 | [-0.21,  0.03]
                  GVIF Df GVIF^(1/(2*Df))
staz          1.039098  1        1.019362
branza        1.036505  2        1.009004
satysfakcja   1.497509  1        1.223727
zaangazowanie 1.263361  1        1.123993
wsparcie      1.404051  1        1.184927

t test of coefficients:

                Estimate Std. Error t value  Pr(>|t|)    
(Intercept)    5.3210852  0.2440211 21.8058 < 2.2e-16 ***
staz          -0.0411877  0.0086256 -4.7750 3.176e-06 ***
branzahandel   0.5137152  0.1197410  4.2902 2.617e-05 ***
branzausługi   0.2292485  0.1342974  1.7070 0.0891503 .  
satysfakcja   -0.4576399  0.0804327 -5.6897 3.801e-08 ***
zaangazowanie -0.2849743  0.0755566 -3.7717 0.0002057 ***
wsparcie      -0.1021567  0.0681645 -1.4987 0.1353106    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1


Call:
glm(formula = plan ~ satysfakcja + zaangazowanie + wsparcie + 
    staz + branza, family = binomial, data = ankieta)

Coefficients:
               Estimate Std. Error z value Pr(>|z|)   
(Intercept)    2.389421   0.857765   2.786  0.00534 **
satysfakcja   -0.663255   0.255751  -2.593  0.00950 **
zaangazowanie -0.679924   0.248890  -2.732  0.00630 **
wsparcie       0.052264   0.215336   0.243  0.80823   
staz          -0.005535   0.033331  -0.166  0.86811   
branzahandel   0.800616   0.393581   2.034  0.04193 * 
branzausługi   0.038568   0.477599   0.081  0.93564   
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

(Dispersion parameter for binomial family taken to be 1)

    Null deviance: 258.37  on 239  degrees of freedom
Residual deviance: 225.61  on 233  degrees of freedom
AIC: 239.61

Number of Fisher Scoring iterations: 4

Waiting for profiling to be done...
                 OR 2.5 % 97.5 %
(Intercept)   10.91  2.08  61.13
satysfakcja    0.52  0.31   0.84
zaangazowanie  0.51  0.31   0.82
wsparcie       1.05  0.69   1.61
staz           0.99  0.93   1.06
branzahandel   2.23  1.05   4.93
branzausługi   1.04  0.40   2.64
Analysis of Deviance Table

Model 1: plan ~ 1
Model 2: plan ~ satysfakcja + zaangazowanie + wsparcie + staz + branza
  Resid. Df Resid. Dev Df Deviance  Pr(>Chi)    
1       239     258.37                          
2       233     225.61  6   32.755 1.169e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
  R2_CoxSnell R2_Nagelkerke 
        0.128         0.194 
zdarzenia parametry       EPV 
     55.0       6.0       9.2 
  satysfakcja     p dolna gorna
1           2 0.437 0.285 0.602
2           3 0.286 0.198 0.393
3           4 0.171 0.091 0.298

3. Model ekonometryczny: MNK, weryfikacja i model log-log

Dane wejściowe: 150 powiatów (dane symulowane, set.seed(3142)): cena 1 m² mieszkania, przeciętne wynagrodzenie, gęstość zaludnienia, stopa bezrobocia.

Co odczytać: współczynniki i R² obu modeli, statystykę i wartość p testu Jarque–Bera z własnej funkcji, wyniki bptest() i resettest(), VIF, współczynniki z błędami HC3, elastyczności modelu liniowego przy średnich, przedziały ufności HC3 i procentowe interpretacje współczynników modelu log-log.

R
library(lmtest)     # bptest(), resettest(), coeftest(), coefci()
library(sandwich)   # vcovHC()
library(car)        # vif()

# Dane symulowane: przekrój 150 powiatów, wzorowany na wskaźnikach regionalnych.
# cena_m2 – średnia cena 1 m² mieszkania (zł), wynagrodzenie – przeciętne miesięczne
# wynagrodzenie brutto (zł), gestosc – gęstość zaludnienia (os./km²),
# bezrobocie – stopa bezrobocia (%), miasto – miasto na prawach powiatu (0/1)
set.seed(3142)
n <- 150
miasto <- rbinom(n, 1, 0.15)
ln_gest <- ifelse(miasto == 1, rnorm(n, 7.2, 0.5), rnorm(n, 4.45, 0.6))
gestosc <- round(exp(ln_gest))
ln_wyn <- log(7000) + 0.06 * (ln_gest - 4.45) + rnorm(n, 0, 0.10)
wynagrodzenie <- round(exp(ln_wyn), -1)
bezrobocie <- round(pmax(1.5, 7.5 - 0.9 * (ln_gest - 4.45) - 8 * (ln_wyn - log(7000)) + rnorm(n, 0, 2.5)), 1)
ln_cena <- log(5200) + 1.4 * (log(wynagrodzenie) - log(7000)) + 0.12 * (log(gestosc) - 4.45) -
  0.015 * (bezrobocie - 7.5) + rnorm(n, 0, 0.12)
powiaty <- data.frame(cena_m2 = round(exp(ln_cena), -1), wynagrodzenie, gestosc, bezrobocie, miasto)
summary(powiaty[1:4])
table(powiaty$miasto)

# Test Jarque–Bera policzony samodzielnie: JB = n/6 × [S² + (K − 3)²/4], rozkład χ² z 2 df
jarque_bera <- function(e) {
  n <- length(e)
  e <- e - mean(e)
  S <- mean(e^3) / mean(e^2)^1.5     # skośność reszt
  K <- mean(e^4) / mean(e^2)^2       # kurtoza reszt (rozkład normalny: 3)
  JB <- n / 6 * (S^2 + (K - 3)^2 / 4)
  round(c(S = S, K = K, JB = JB, p = pchisq(JB, df = 2, lower.tail = FALSE)), 4)
}

# Model 1: liniowy (wszystkie zmienne w poziomach), estymacja MNK i weryfikacja
m_lin <- lm(cena_m2 ~ wynagrodzenie + gestosc + bezrobocie, data = powiaty)
summary(m_lin)
jarque_bera(resid(m_lin))
bptest(m_lin)                     # Breusch–Pagan (wersja studentyzowana, domyślna w lmtest)
resettest(m_lin)                  # RESET Ramseya: kwadraty i sześciany wartości dopasowanych
vif(m_lin)
coeftest(m_lin, vcov. = vcovHC(m_lin, type = "HC3"))
# W modelu liniowym elastyczność zależy od punktu – tu liczona przy średnich: b × średnia X / średnia Y
sr <- colMeans(powiaty)
round(coef(m_lin)[-1] * sr[c("wynagrodzenie", "gestosc", "bezrobocie")] / sr["cena_m2"], 3)

# Model 2: log-log (logarytmy ceny, wynagrodzenia i gęstości; bezrobocie w punktach procentowych)
m_log <- lm(log(cena_m2) ~ log(wynagrodzenie) + log(gestosc) + bezrobocie, data = powiaty)
summary(m_log)
jarque_bera(resid(m_log))
bptest(m_log)
resettest(m_log)
vif(m_log)
coeftest(m_log, vcov. = vcovHC(m_log, type = "HC3"))
round(coefci(m_log, vcov. = vcovHC(m_log, type = "HC3")), 3)

# Interpretacja w procentach: +10% wynagrodzenia, +10% gęstości, +1 punkt procentowy bezrobocia
b <- coef(m_log)
round(c(wynagrodzenie_10proc = 100 * (1.1^b[[2]] - 1), gestosc_10proc = 100 * (1.1^b[[3]] - 1),
        bezrobocie_1pp = 100 * (exp(b[[4]]) - 1)), 2)
Wynik w R
    cena_m2      wynagrodzenie      gestosc         bezrobocie    
 Min.   : 2700   Min.   : 5190   Min.   :  28.0   Min.   : 1.500  
 1st Qu.: 4615   1st Qu.: 6692   1st Qu.:  56.5   1st Qu.: 4.425  
 Median : 5530   Median : 7100   Median :  96.0   Median : 6.900  
 Mean   : 5990   Mean   : 7251   Mean   : 279.8   Mean   : 6.807  
 3rd Qu.: 6722   3rd Qu.: 7840   3rd Qu.: 172.2   3rd Qu.: 8.875  
 Max.   :13090   Max.   :10020   Max.   :2163.0   Max.   :16.600  

  0   1 
126  24 

Call:
lm(formula = cena_m2 ~ wynagrodzenie + gestosc + bezrobocie, 
    data = powiaty)

Residuals:
    Min      1Q  Median      3Q     Max 
-1943.2  -497.6   -86.3   512.3  3568.3 

Coefficients:
                Estimate Std. Error t value Pr(>|t|)    
(Intercept)   -2.893e+03  8.549e+02  -3.384 0.000918 ***
wynagrodzenie  1.284e+00  9.964e-02  12.886  < 2e-16 ***
gestosc        1.469e+00  2.024e-01   7.258 2.15e-11 ***
bezrobocie    -1.231e+02  3.233e+01  -3.809 0.000205 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 883.7 on 146 degrees of freedom
Multiple R-squared:  0.8186,	Adjusted R-squared:  0.8148 
F-statistic: 219.6 on 3 and 146 DF,  p-value: < 2.2e-16

      S       K      JB       p 
 0.5318  4.3140 17.8618  0.0001 

	studentized Breusch-Pagan test

data:  m_lin
BP = 15.919, df = 3, p-value = 0.001178


	RESET test

data:  m_lin
RESET = 4.3959, df1 = 2, df2 = 144, p-value = 0.01402

wynagrodzenie       gestosc    bezrobocie 
     1.609345      1.502946      1.916328 

t test of coefficients:

                 Estimate  Std. Error t value  Pr(>|t|)    
(Intercept)   -2.8928e+03  7.7323e+02 -3.7412 0.0002626 ***
wynagrodzenie  1.2840e+00  9.9572e-02 12.8948 < 2.2e-16 ***
gestosc        1.4695e+00  2.9247e-01  5.0242 1.456e-06 ***
bezrobocie    -1.2314e+02  3.0533e+01 -4.0330 8.843e-05 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

wynagrodzenie       gestosc    bezrobocie 
        1.554         0.069        -0.140 

Call:
lm(formula = log(cena_m2) ~ log(wynagrodzenie) + log(gestosc) + 
    bezrobocie, data = powiaty)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.34327 -0.08633  0.00554  0.09147  0.30560 

Coefficients:
                    Estimate Std. Error t value Pr(>|t|)    
(Intercept)        -4.550156   0.969930  -4.691 6.19e-06 ***
log(wynagrodzenie)  1.447361   0.108876  13.294  < 2e-16 ***
log(gestosc)        0.094015   0.012506   7.518 5.19e-12 ***
bezrobocie         -0.016839   0.004803  -3.506 0.000605 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.1299 on 146 degrees of freedom
Multiple R-squared:  0.8359,	Adjusted R-squared:  0.8325 
F-statistic: 247.9 on 3 and 146 DF,  p-value: < 2.2e-16

      S       K      JB       p 
-0.1191  2.6960  0.9322  0.6274 

	studentized Breusch-Pagan test

data:  m_log
BP = 0.5662, df = 3, p-value = 0.9041


	RESET test

data:  m_log
RESET = 0.99189, df1 = 2, df2 = 144, p-value = 0.3734

log(wynagrodzenie)       log(gestosc)         bezrobocie 
          1.643852           1.711936           1.957173 

t test of coefficients:

                     Estimate Std. Error t value  Pr(>|t|)    
(Intercept)        -4.5501562  0.8979036 -5.0675 1.201e-06 ***
log(wynagrodzenie)  1.4473610  0.1017159 14.2294 < 2.2e-16 ***
log(gestosc)        0.0940153  0.0126499  7.4321 8.308e-12 ***
bezrobocie         -0.0168389  0.0048693 -3.4582 0.0007129 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

                    2.5 % 97.5 %
(Intercept)        -6.325 -2.776
log(wynagrodzenie)  1.246  1.648
log(gestosc)        0.069  0.119
bezrobocie         -0.026 -0.007
wynagrodzenie_10proc       gestosc_10proc       bezrobocie_1pp 
               14.79                 0.90                -1.67 

4. Symulacje: za dużo zmiennych i regresja pozorna

Dane wejściowe: 2 × 10 000 prób symulowanych (set.seed(3133)); obliczenia trwają kilka sekund.

Co odczytać: średnie R² i skorygowane R², odsetek istotnych testów F i odsetek prób z co najmniej jednym istotnym współczynnikiem przy 8 predyktorach i 20 obserwacjach, a dla dwóch niezależnych szeregów z trendem – odsetek „istotnych” regresji i medianę R².

R
# Dwie symulacje do sekcji o błędach (10 000 powtórzeń każda)
set.seed(3133)

# 1) Za dużo zmiennych na małej próbie: n = 20 obserwacji, k = 8 predyktorów
#    całkowicie niezwiązanych ze zmienną zależną
nadmiar <- replicate(10000, {
  X <- matrix(rnorm(20 * 8), nrow = 20)
  y <- rnorm(20)
  s <- summary(lm(y ~ X))
  c(R2 = s$r.squared, R2_skor = s$adj.r.squared,
    F_istotny = unname(pf(s$fstatistic[1], 8, 11, lower.tail = FALSE) < .05),
    min_jeden_t_istotny = any(coef(s)[-1, 4] < .05))
})
round(rowMeans(nadmiar), 3)
round(8 / 19, 3)                                   # oczekiwane R² bez żadnego związku: k / (n − 1)
round(quantile(nadmiar["R2", ], c(.10, .50, .90)), 3)

# 2) Regresja pozorna: dwa niezależne szeregi z trendem stochastycznym
#    (błądzenia losowe), 25 obserwacji rocznych
pozorna <- replicate(10000, {
  x <- cumsum(rnorm(25))
  y <- cumsum(rnorm(25))
  s <- summary(lm(y ~ x))
  c(p = coef(s)[2, 4], R2 = s$r.squared)
})
round(c(odsetek_p_ponizej_05 = mean(pozorna["p", ] < .05), mediana_R2 = median(pozorna["R2", ])), 3)
Wynik w R
                 R2             R2_skor           F_istotny min_jeden_t_istotny 
              0.418              -0.005               0.045               0.255 
[1] 0.421
  10%   50%   90% 
0.222 0.412 0.620 
odsetek_p_ponizej_05           mediana_R2 
               0.519                0.168 

Bibliografia oprogramowania

Wyniki na tej stronie pochodzą z uruchomienia pokazanego kodu w R 4.5.3; rysunki przygotowano w pakietach ggplot2 i patchwork. W pracy podaj wersje faktycznie użytych pakietów (sessionInfo()).

  1. R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
  2. psych (wersja 2.6.5): Revelle, W. (2026). psych: Procedures for psychological, psychometric, and personality research [R package]. Northwestern University. https://CRAN.R-project.org/package=psych
  3. car (wersja 3.1.5): Fox, J., & Weisberg, S. (2019). An R companion to applied regression (3rd ed.). Sage. https://www.john-fox.ca/Companion/
  4. effectsize (wersja 1.0.2): Ben-Shachar, M. S., Lüdecke, D., & Makowski, D. (2020). effectsize: Estimation of effect size indices and standardized parameters. Journal of Open Source Software, 5(56), 2815. https://doi.org/10.21105/joss.02815
  5. lmtest (wersja 0.9.40): Zeileis, A., & Hothorn, T. (2002). Diagnostic checking in regression relationships. R News, 2(3), 7–10. https://CRAN.R-project.org/doc/Rnews/
  6. sandwich (wersja 3.1.1): Zeileis, A., Köll, S., & Graham, N. (2020). Various versatile variances: An object-oriented implementation of clustered covariances in R. Journal of Statistical Software, 95(1), 1–36. https://doi.org/10.18637/jss.v095.i01
  7. ggplot2 (wersja 4.0.2): Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org
  8. patchwork (wersja 1.3.2): Pedersen, T. L. (2025). patchwork: The composer of plots [R package]. https://doi.org/10.32614/CRAN.package.patchwork

Najczęstsze błędy

  • Wnioski przyczynowe z danych przekrojowych. „Wyższe wynagrodzenia podnoszą ceny mieszkań” albo „satysfakcja zmniejsza rotację” to interpretacje, których model z jednego pomiaru nie uzasadnia (zob. schemat przekrojowy). Pisz o związkach, a mechanizmy omawiaj w dyskusji jako możliwe wyjaśnienia.
  • Pomijanie endogeniczności. Zmienna objaśniająca jest endogeniczna, gdy jest skorelowana ze składnikiem losowym – np. przez pominiętą zmienną (atrakcyjność miejsca może wiązać się i z płacami, i z cenami), równoczesność albo błąd pomiaru. Antonakis i in. (2010) pokazują, że endogeniczność odbiera oszacowaniom interpretację przyczynową; w ich przeglądzie 110 artykułów o przywództwie z czołowych czasopism badacze nie uwzględniali od 66% do 90% warunków, od których zależy trafność takich wniosków. Metody, które się z tym mierzą (np. zmienne instrumentalne, panele z efektami stałymi), opisuje hasło ekonometria. Jeśli ich nie stosujesz, nazwij problem w ograniczeniach badania.
  • Za dużo zmiennych na małej próbie. W symulacji (10 000 prób po 20 obserwacji i 8 zmiennych objaśniających niezwiązanych z Y) średnie R² wyniosło .42 – niemal dokładnie tyle, ile przewiduje wzór k/(n − 1) = 8/19 = .42 – a w 25.5% prób co najmniej jeden współczynnik był „istotny”. Skorygowane R² (średnio −.005) i test F całego modelu (istotny w 4.5% prób) nie dały się oszukać (zob. R² skorygowane). Green (1991) znalazł pewne poparcie dla reguły N ≥ 50 + 8m przy teście całego modelu, co przy 8 predyktorach daje 114 obserwacji, ale reguła zakłada efekt średniej wielkości.
  • Regresja szeregów czasowych z trendem. Dwa niezależne szeregi z trendem stochastycznym (błądzenia losowe, 25 lat) dały w symulacji „istotny” związek w 51.9% prób, przy medianie R² = .17. Przy danych rocznych sprawdź więc trendy i autokorelację reszt.
  • Dobór zmiennych metodą krokową. Algorytm wybiera zmienne według przypadkowych cech próby. Zmienne ustal przed analizą na podstawie teorii (zob. metoda krokowa).

Gdy analiza jest gotowa, zobacz, jak może wyglądać przykładowy rozdział wyników z komentarzem i jakie pytania z metodologii i statystyki padają na obronie. Podobny przewodnik dla studentów pedagogiki znajdziesz we wpisie statystyka w pracy z pedagogiki.

Najczęstsze pytania

Jakie analizy statystyczne wybrać do pracy magisterskiej z zarządzania?

Zależy od danych. Przy ankiecie wśród pracowników lub klientów zwykle potrzebujesz rzetelności skal (α i ω), statystyk opisowych, korelacji, regresji wielorakiej ze zmiennymi kontrolnymi, a dla odpowiedzi tak/nie – regresji logistycznej. Przy danych wtórnych, np. z Banku Danych Lokalnych GUS, budujesz model ekonometryczny szacowany MNK i weryfikujesz go testami diagnostycznymi.

Jak przeprowadzić weryfikację modelu ekonometrycznego w pracy licencjackiej?

Sprawdź dopasowanie (R², test F), istotność i znaki współczynników (testy t), normalność reszt (test Jarque–Bera), homoskedastyczność (test Breuscha–Pagana), postać funkcyjną (test RESET) i współliniowość (VIF), a przy szeregach czasowych także autokorelację reszt. Gdy model nie przechodzi testów, popraw specyfikację, np. zlogarytmuj zmienne, albo użyj błędów standardowych HC3.

Jak interpretować współczynnik w modelu log-log?

W modelu log-log współczynnik przy zlogarytmowanej zmiennej to elastyczność: mówi, o ile procent zmienia się zmienna objaśniana, gdy zmienna objaśniająca rośnie o 1%, przy pozostałych zmiennych stałych. Przykładowo elastyczność 1.45 oznacza, że wynagrodzenia wyższe o 10% wiążą się z cenami wyższymi o ok. 14.8%.

Ile obserwacji potrzeba do modelu ekonometrycznego?

Nie ma jednej liczby, ale kilka zmiennych objaśniających przy kilkunastu obserwacjach to przepis na przypadkowe wyniki. W symulacji z 20 obserwacjami i 8 zmiennymi niezwiązanymi z Y średnie R² wynosiło .42, a w co czwartej próbie jakiś współczynnik był „istotny”. Green (1991) proponował dla testu całego modelu regułę N ≥ 50 + 8m, zakładającą efekt średniej wielkości.

Czy z regresji na danych przekrojowych można wnioskować o przyczynach?

Zwykle nie. Model z jednego pomiaru pokazuje związki, które mogą wynikać z pominiętych zmiennych, odwrotnej przyczynowości albo błędu pomiaru, czyli z endogeniczności. W pracy pisz, że zmienna „wiąże się” z wynikiem, a nie że „wpływa” na wynik, i opisz to ograniczenie w dyskusji.

Skąd wziąć dane do modelu ekonometrycznego w pracy?

Podstawowym publicznym źródłem danych regionalnych jest Bank Danych Lokalnych GUS z danymi dla gmin, powiatów, województw i całego kraju, pogrupowanymi m.in. w kategorie rynek pracy, wynagrodzenia i rynek nieruchomości. Inne źródła to sprawozdania finansowe firm i dane udostępnione przez organizację, w której piszesz pracę. Zawsze podaj źródło, jednostkę obserwacji i okres.

Powiązane hasła

Przeczytaj też

Masz ankietę albo dane do modelu ekonometrycznego?

Pomożemy dobrać i wykonać analizę, sprawdzić założenia modelu i omówić wyniki tak, żebyś rozumiał(a) każdą liczbę w swoim rozdziale.

Oferta dla studentówWyceń analizę

Bibliografia i dalsza literatura naukowa (APA 7)

  1. Antonakis, J., Bendahan, S., Jacquart, P., & Lalive, R. (2010). On making causal claims: A review and recommendations. The Leadership Quarterly, 21(6), 1086–1120. https://doi.org/10.1016/j.leaqua.2010.10.010 ● Otwarty dostęp: pełny tekst
  2. Breusch, T. S., & Pagan, A. R. (1979). A simple test for heteroscedasticity and random coefficient variation. Econometrica, 47(5), 1287–1294. https://doi.org/10.2307/1911963
  3. Dunn, T. J., Baguley, T., & Brunsden, V. (2014). From alpha to omega: A practical solution to the pervasive problem of internal consistency estimation. British Journal of Psychology, 105(3), 399–412. https://doi.org/10.1111/bjop.12046 ● Otwarty dostęp: pełny tekst
  4. Główny Urząd Statystyczny. (b.d.). Bank Danych Lokalnych. Pobrano 16 października 2026 z https://bdl.stat.gov.pl/bdl/start ● Otwarty dostęp
  5. Green, S. B. (1991). How many subjects does it take to do a regression analysis. Multivariate Behavioral Research, 26(3), 499–510. https://doi.org/10.1207/s15327906mbr2603_7
  6. Jarque, C. M., & Bera, A. K. (1987). A test for normality of observations and regression residuals. International Statistical Review, 55(2), 163–172. https://doi.org/10.2307/1403192
  7. Kim, J. H. (2019). Multicollinearity and misleading statistical results. Korean Journal of Anesthesiology, 72(6), 558–569. https://doi.org/10.4097/kja.19087 ● Otwarty dostęp
  8. Long, J. S., & Ervin, L. H. (2000). Using heteroscedasticity consistent standard errors in the linear regression model. The American Statistician, 54(3), 217–224. https://doi.org/10.1080/00031305.2000.10474549
  9. MacCallum, R. C., Zhang, S., Preacher, K. J., & Rucker, D. D. (2002). On the practice of dichotomization of quantitative variables. Psychological Methods, 7(1), 19–40. https://doi.org/10.1037/1082-989X.7.1.19 ● Otwarty dostęp: pełny tekst
  10. Podsakoff, P. M., MacKenzie, S. B., Lee, J.-Y., & Podsakoff, N. P. (2003). Common method biases in behavioral research: A critical review of the literature and recommended remedies. Journal of Applied Psychology, 88(5), 879–903. https://doi.org/10.1037/0021-9010.88.5.879
  11. Ramsey, J. B. (1969). Tests for specification errors in classical linear least-squares regression analysis. Journal of the Royal Statistical Society: Series B (Methodological), 31(2), 350–371. https://doi.org/10.1111/j.2517-6161.1969.tb00796.x
  12. Spector, P. E., & Brannick, M. T. (2011). Methodological urban legends: The misuse of statistical control variables. Organizational Research Methods, 14(2), 287–305. https://doi.org/10.1177/1094428110369842
  13. Stantcheva, S. (2023). How to run surveys: A guide to creating your own identifying variation and revealing the invisible. Annual Review of Economics, 15(1), 205–234. https://doi.org/10.1146/annurev-economics-091622-010157 ● Otwarty dostęp
  14. van Smeden, M., de Groot, J. A. H., Moons, K. G. M., Collins, G. S., Altman, D. G., Eijkemans, M. J. C., & Reitsma, J. B. (2016). No rationale for 1 variable per 10 events criterion for binary logistic regression analysis. BMC Medical Research Methodology, 16(1), Article 163. https://doi.org/10.1186/s12874-016-0267-3 ● Otwarty dostęp

Cytowania BibTeX

@article{antonakis2010making, author={Antonakis, John and Bendahan, Samuel and Jacquart, Philippe and Lalive, Rafael}, title={{On making causal claims: A review and recommendations}}, journal={The Leadership Quarterly}, year={2010}, volume={21}, number={6}, pages={1086--1120}, doi={10.1016/j.leaqua.2010.10.010}}
@article{breusch1979simple, author={Breusch, T. S. and Pagan, A. R.}, title={{A simple test for heteroscedasticity and random coefficient variation}}, journal={Econometrica}, year={1979}, volume={47}, number={5}, pages={1287--1294}, doi={10.2307/1911963}}
@article{dunn2014alpha, author={Dunn, Thomas J. and Baguley, Thom and Brunsden, Vivienne}, title={{From alpha to omega: A practical solution to the pervasive problem of internal consistency estimation}}, journal={British Journal of Psychology}, year={2014}, volume={105}, number={3}, pages={399--412}, doi={10.1111/bjop.12046}}
@misc{gusndbdl, author={{Główny Urząd Statystyczny}}, title={{Bank Danych Lokalnych}}, url={https://bdl.stat.gov.pl/bdl/start}}
@article{green1991how, author={Green, Samuel B.}, title={{How many subjects does it take to do a regression analysis}}, journal={Multivariate Behavioral Research}, year={1991}, volume={26}, number={3}, pages={499--510}, doi={10.1207/s15327906mbr2603_7}}
@article{jarque1987test, author={Jarque, Carlos M. and Bera, Anil K.}, title={{A test for normality of observations and regression residuals}}, journal={International Statistical Review}, year={1987}, volume={55}, number={2}, pages={163--172}, doi={10.2307/1403192}}
@article{kim2019multicollinearity, author={Kim, Jong Hae}, title={{Multicollinearity and misleading statistical results}}, journal={Korean Journal of Anesthesiology}, year={2019}, volume={72}, number={6}, pages={558--569}, doi={10.4097/kja.19087}}
@article{long2000using, author={Long, J. Scott and Ervin, Laurie H.}, title={{Using heteroscedasticity consistent standard errors in the linear regression model}}, journal={The American Statistician}, year={2000}, volume={54}, number={3}, pages={217--224}, doi={10.1080/00031305.2000.10474549}}
@article{maccallum2002practice, author={MacCallum, Robert C. and Zhang, Shaobo and Preacher, Kristopher J. and Rucker, Derek D.}, title={{On the practice of dichotomization of quantitative variables}}, journal={Psychological Methods}, year={2002}, volume={7}, number={1}, pages={19--40}, doi={10.1037/1082-989x.7.1.19}}
@article{podsakoff2003common, author={Podsakoff, Philip M. and MacKenzie, Scott B. and Lee, Jeong-Yeon and Podsakoff, Nathan P.}, title={{Common method biases in behavioral research: A critical review of the literature and recommended remedies}}, journal={Journal of Applied Psychology}, year={2003}, volume={88}, number={5}, pages={879--903}, doi={10.1037/0021-9010.88.5.879}}
@article{ramsey1969tests, author={Ramsey, J. B.}, title={{Tests for specification errors in classical linear least-squares regression analysis}}, journal={Journal of the Royal Statistical Society: Series B (Methodological)}, year={1969}, volume={31}, number={2}, pages={350--371}, doi={10.1111/j.2517-6161.1969.tb00796.x}}
@article{spector2011methodological, author={Spector, Paul E. and Brannick, Michael T.}, title={{Methodological urban legends: The misuse of statistical control variables}}, journal={Organizational Research Methods}, year={2011}, volume={14}, number={2}, pages={287--305}, doi={10.1177/1094428110369842}}
@article{stantcheva2023how, author={Stantcheva, Stefanie}, title={{How to run surveys: A guide to creating your own identifying variation and revealing the invisible}}, journal={Annual Review of Economics}, year={2023}, volume={15}, number={1}, pages={205--234}, doi={10.1146/annurev-economics-091622-010157}}
@article{vansmeden2016no, author={van Smeden, Maarten and de Groot, Joris A. H. and Moons, Karel G. M. and Collins, Gary S. and Altman, Douglas G. and Eijkemans, Marinus J. C. and Reitsma, Johannes B.}, title={{No rationale for 1 variable per 10 events criterion for binary logistic regression analysis}}, journal={BMC Medical Research Methodology}, year={2016}, volume={16}, number={1}, eid={163}, doi={10.1186/s12874-016-0267-3}}
R