Aktywa i pasywa, czyli majątek przedsiębiorstwa i źródła jego finansowania
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Każde przedsiębiorstwo, niezależnie od wielkości i formy prowadzenia działalności, dysponuje określonym majątkiem. Może to być gotówka na rachunku bankowym, towary przeznaczone do sprzedaży, maszyny produkcyjne, samochody, budynki, oprogramowanie, należności od kontrahentów albo udziały w innych jednostkach. W rachunkowości wszystkie te składniki majątku określa się mianem aktywów.
Jednocześnie każdy składnik majątku musi mieć swoje źródło finansowania. Jeżeli firma posiada samochód, maszynę albo zapas towarów, to środki na ich zakup musiały skądś pochodzić. Mogły zostać wniesione przez właściciela, wypracowane w poprzednich latach, pożyczone od banku albo uzyskane od kontrahentów w formie kredytu kupieckiego. Źródła finansowania majątku nazywamy w rachunkowości pasywami.
Najprościej można więc powiedzieć, że aktywa pokazują, co przedsiębiorstwo posiada, natomiast pasywa pokazują, skąd pochodzi finansowanie tego majątku. Ta zależność jest podstawą całej rachunkowości bilansowej.
Oznacza to, że wartość całego majątku przedsiębiorstwa musi być równa wartości źródeł jego finansowania. Nie jest to przypadkowa zależność matematyczna, ale logiczna konsekwencja sposobu patrzenia na przedsiębiorstwo.
Jeżeli firma posiada majątek o wartości 500 000 zł, to ten majątek musiał zostać w całości sfinansowany. Część mogła pochodzić z kapitału właściciela, część z wypracowanego zysku, a część z kredytu bankowego lub zobowiązań wobec dostawców. Suma tych źródeł finansowania musi odpowiadać wartości aktywów.
Pozycja
Wartość
Aktywa przedsiębiorstwa
500 000 zł
Kapitał własny
300 000 zł
Zobowiązania
200 000 zł
Razem pasywa
500 000 zł
W tym przykładzie przedsiębiorstwo posiada majątek wart 500 000 zł. Z tej kwoty 300 000 zł zostało sfinansowane kapitałem własnym, a 200 000 zł kapitałem obcym, czyli zobowiązaniami.
Czym są aktywa?
Aktywa to kontrolowane przez jednostkę zasoby majątkowe, które mają określoną wartość i mogą w przyszłości przynieść korzyści ekonomiczne. W praktyce oznacza to, że aktywem jest taki składnik majątku, który firma może wykorzystać w prowadzonej działalności, sprzedać, zamienić na gotówkę albo użyć do osiągania przychodów.
Do aktywów zaliczamy między innymi budynki, maszyny, środki transportu, komputery, oprogramowanie, zapasy materiałów i towarów, należności od odbiorców, środki pieniężne, udziały, akcje oraz różnego rodzaju prawa majątkowe.
Aktywa trwałe to te składniki majątku, które są przeznaczone do długotrwałego wykorzystywania w działalności jednostki. Zazwyczaj pozostają w przedsiębiorstwie dłużej niż jeden rok i nie są przeznaczone do szybkiej sprzedaży w normalnym cyklu działalności.
Do aktywów trwałych zalicza się przede wszystkim wartości niematerialne i prawne, rzeczowe aktywa trwałe, należności długoterminowe, inwestycje długoterminowe oraz długoterminowe rozliczenia międzyokresowe.
Wartości niematerialne i prawne
Wartości niematerialne i prawne to składniki majątku, które nie mają postaci materialnej, ale przedstawiają określoną wartość gospodarczą. Mogą to być na przykład licencje, prawa autorskie, patenty, znaki towarowe, koncesje albo oprogramowanie komputerowe.
Przykładowo firma może nie posiadać fizycznej maszyny, ale może posiadać licencję na specjalistyczny program komputerowy, bez którego nie byłaby w stanie prowadzić działalności. Taka licencja może być ujęta właśnie jako wartość niematerialna i prawna.
Rzeczowe aktywa trwałe
Najbardziej intuicyjną grupą aktywów trwałych są rzeczowe aktywa trwałe. Obejmują one materialne składniki majątku wykorzystywane przez przedsiębiorstwo przez dłuższy czas.
Należą do nich między innymi grunty, budynki, lokale, maszyny, urządzenia techniczne, środki transportu, wyposażenie oraz środki trwałe w budowie.
Jeżeli przedsiębiorstwo produkcyjne kupuje maszynę, która będzie służyć przez kilka lat, to nie traktuje jej jako zwykłego kosztu jednego miesiąca, ale jako środek trwały. Jej wartość będzie stopniowo odnoszona w koszty poprzez amortyzację.
Należności długoterminowe
Należności długoterminowe to kwoty, które inne podmioty są winne przedsiębiorstwu, ale termin ich spłaty przypada później niż po upływie 12 miesięcy od dnia bilansowego. W praktyce w wielu firmach większe znaczenie mają należności krótkoterminowe, ale w niektórych jednostkach należności długoterminowe również mogą być istotną pozycją bilansu.
Inwestycje długoterminowe
Inwestycje długoterminowe obejmują składniki majątku, które przedsiębiorstwo posiada nie po to, aby bezpośrednio wykorzystywać je w podstawowej działalności operacyjnej, ale w celu osiągnięcia korzyści ekonomicznych w dłuższym okresie. Mogą to być na przykład udziały, akcje, obligacje, nieruchomości inwestycyjne albo długoterminowe lokaty.
Przykładowo przedsiębiorstwo może posiadać udziały w innej spółce. Jeżeli nie są one przeznaczone do szybkiej sprzedaży, mogą być wykazane jako inwestycje długoterminowe.
Długoterminowe rozliczenia międzyokresowe
Rozliczenia międzyokresowe służą prawidłowemu przyporządkowaniu kosztów i przychodów do okresów, których naprawdę dotyczą. W rachunkowości nie zawsze moment zapłaty oznacza moment powstania kosztu lub przychodu.
Jeżeli firma zapłaci z góry za usługę, która będzie dotyczyła kilku przyszłych okresów, to nie zawsze cała kwota powinna od razu obciążyć wynik bieżącego okresu. Część może zostać ujęta jako rozliczenie międzyokresowe i stopniowo odnoszona w koszty.
Aktywa obrotowe
Drugą główną grupą aktywów są aktywa obrotowe. Są to składniki majątku, które z założenia pozostają w przedsiębiorstwie krócej niż aktywa trwałe. Zwykle są zużywane, sprzedawane, przetwarzane albo zamieniane na gotówkę w ciągu jednego roku lub w ramach normalnego cyklu działalności operacyjnej.
Do aktywów obrotowych zalicza się przede wszystkim zapasy, należności krótkoterminowe, inwestycje krótkoterminowe oraz krótkoterminowe rozliczenia międzyokresowe.
Składniki aktywów obrotowych.
Zapasy
Zapasy obejmują składniki majątku przeznaczone do zużycia, przetworzenia albo sprzedaży. W zależności od rodzaju działalności mogą to być materiały, półprodukty, produkty gotowe, towary albo zaliczki na dostawy.
W firmie handlowej ważną pozycją zapasów będą towary przeznaczone do sprzedaży. W firmie produkcyjnej większe znaczenie mogą mieć materiały, produkcja w toku oraz wyroby gotowe.
Zapasy są szczególnie istotne przy analizie płynności finansowej. Z jednej strony stanowią majątek przedsiębiorstwa, ale z drugiej strony nie zawsze można je szybko zamienić na gotówkę bez utraty wartości.
Należności krótkoterminowe
Należności krótkoterminowe to kwoty należne przedsiębiorstwu od innych podmiotów, których termin spłaty przypada zwykle w ciągu 12 miesięcy. Najczęściej są to należności od odbiorców z tytułu sprzedanych produktów, towarów lub usług.
Jeżeli firma wystawiła fakturę z terminem płatności 30 dni, to do momentu otrzymania zapłaty ma należność wobec kontrahenta. Należności zwiększają aktywa, ale same w sobie nie są jeszcze gotówką. Dlatego przy ocenie sytuacji finansowej przedsiębiorstwa ważne jest nie tylko to, ile firma ma należności, ale także czy są one realnie ściągalne.
Inwestycje krótkoterminowe
Do inwestycji krótkoterminowych zalicza się między innymi krótkoterminowe aktywa finansowe oraz środki pieniężne. W praktyce bardzo ważną pozycją są pieniądze w kasie i na rachunkach bankowych.
Środki pieniężne są najbardziej płynnym składnikiem aktywów, ponieważ mogą być natychmiast wykorzystane do regulowania zobowiązań. Z tego powodu mają duże znaczenie przy analizie płynności finansowej.
Krótkoterminowe rozliczenia międzyokresowe
Podobnie jak w przypadku rozliczeń długoterminowych, krótkoterminowe rozliczenia międzyokresowe dotyczą kosztów lub przychodów odnoszących się do przyszłych okresów. Różnica polega na tym, że ich rozliczenie nastąpi w krótszym czasie, zazwyczaj w okresie nieprzekraczającym 12 miesięcy.
Przykładem może być opłacona z góry polisa ubezpieczeniowa, prenumerata, abonament albo czynsz dotyczący przyszłych miesięcy.
Czym są pasywa?
Skoro aktywa pokazują majątek przedsiębiorstwa, to pasywa pokazują źródła finansowania tego majątku. Innymi słowy, pasywa odpowiadają na pytanie: skąd firma wzięła środki na sfinansowanie swoich aktywów?
Pasywa dzieli się zasadniczo na kapitał własny oraz zobowiązania i rezerwy na zobowiązania. W uproszczeniu można powiedzieć, że kapitał własny to finansowanie pochodzące od właścicieli oraz z wypracowanych zysków, natomiast zobowiązania to finansowanie pochodzące od podmiotów zewnętrznych.
Kapitał własny
Kapitał własny jest źródłem finansowania należącym do właścicieli jednostki. Może pochodzić z wkładów wniesionych przez właścicieli, z emisji udziałów lub akcji, z zatrzymanych zysków oraz z innych pozycji kapitałowych.
Do kapitału własnego zalicza się między innymi kapitał podstawowy, kapitał zapasowy, kapitał z aktualizacji wyceny, pozostałe kapitały rezerwowe, zysk lub stratę z lat ubiegłych oraz zysk lub stratę netto roku obrotowego.
Składniki kapitału własnego.
Kapitał podstawowy
Kapitał podstawowy to podstawowa część kapitału własnego jednostki. W spółkach kapitałowych odpowiada on wartości kapitału zakładowego wynikającej z umowy lub statutu spółki. W innych formach działalności jego charakter może być nieco odmienny, ale nadal pełni funkcję podstawowego źródła finansowania wniesionego przez właścicieli.
Kapitał podstawowy jest ważny, ponieważ pokazuje, jaka część finansowania została trwale związana z jednostką przez jej właścicieli.
Kapitał zapasowy
Kapitał zapasowy może powstawać między innymi z części wypracowanego zysku, która nie została wypłacona właścicielom, lecz pozostawiona w przedsiębiorstwie. Może również pochodzić z nadwyżki ceny emisyjnej akcji lub udziałów ponad ich wartość nominalną.
W praktyce kapitał zapasowy wzmacnia stabilność finansową przedsiębiorstwa. Im większa część zysków pozostaje w firmie, tym większa może być jej samodzielność finansowa.
Kapitał z aktualizacji wyceny
Kapitał z aktualizacji wyceny jest szczególną pozycją kapitału własnego. Może pojawiać się wtedy, gdy określone składniki majątku zostają przeszacowane, a skutki tej aktualizacji nie trafiają bezpośrednio do wyniku finansowego, lecz do kapitału własnego.
Dla osoby początkującej najważniejsze jest zrozumienie, że nie każda zmiana wartości składnika majątku musi od razu oznaczać przychód lub koszt. Czasami skutki wyceny są ujmowane właśnie w odpowiednich pozycjach kapitałowych.
Zysk lub strata netto
Ważną częścią kapitału własnego jest również wynik finansowy, czyli zysk albo strata. Jeżeli przedsiębiorstwo osiąga zysk i nie wypłaca go w całości właścicielom, może on zwiększać kapitał własny. Jeżeli natomiast ponosi stratę, kapitał własny może się zmniejszać.
Dlatego przy analizie finansowej przedsiębiorstwa nie wystarczy patrzeć tylko na samą kwotę zysku. Trzeba również sprawdzić, jak zysk wpływa na strukturę kapitału i czy przedsiębiorstwo wzmacnia swoją sytuację finansową.
Zobowiązania i rezerwy na zobowiązania
Drugą główną częścią pasywów są zobowiązania i rezerwy na zobowiązania. Obejmują one kapitał obcy, czyli środki pochodzące od podmiotów zewnętrznych, które w przyszłości trzeba będzie zwrócić albo rozliczyć.
Do tej grupy zalicza się między innymi rezerwy na zobowiązania, zobowiązania długoterminowe, zobowiązania krótkoterminowe oraz rozliczenia międzyokresowe.
Składniki zobowiązań i rezerw na zobowiązania.
Rezerwy na zobowiązania
Rezerwy na zobowiązania tworzy się wtedy, gdy na jednostce ciąży prawdopodobny obowiązek zapłaty lub wykonania świadczenia, ale kwota albo termin tego obowiązku nie są jeszcze dokładnie znane.
Przykładem mogą być rezerwy na świadczenia pracownicze, przewidywane koszty sporów sądowych albo inne przyszłe zobowiązania, które wynikają z obecnej sytuacji przedsiębiorstwa.
Rezerwy pokazują, że rachunkowość nie ogranicza się wyłącznie do już otrzymanych faktur. Uwzględnia również takie zdarzenia, które mogą w przyszłości obciążyć jednostkę.
Zobowiązania długoterminowe
Zobowiązania długoterminowe to zobowiązania, których termin spłaty przypada po okresie dłuższym niż 12 miesięcy od dnia bilansowego. Najczęściej są to kredyty, pożyczki, obligacje lub inne formy finansowania zewnętrznego.
Zobowiązania długoterminowe mogą być korzystnym źródłem finansowania inwestycji, ponieważ pozwalają rozłożyć spłatę na dłuższy okres. Z drugiej strony zwiększają zadłużenie przedsiębiorstwa i wiążą się zwykle z kosztami finansowymi, takimi jak odsetki.
Zobowiązania krótkoterminowe
Zobowiązania krótkoterminowe to zobowiązania wymagalne zwykle w ciągu 12 miesięcy. Obejmują między innymi zobowiązania wobec dostawców, kredyty krótkoterminowe, zobowiązania z tytułu podatków, wynagrodzeń, ubezpieczeń społecznych oraz innych rozrachunków.
Ta grupa pasywów ma szczególne znaczenie przy ocenie płynności finansowej. Jeżeli firma ma dużo zobowiązań krótkoterminowych, musi posiadać odpowiednie aktywa obrotowe, aby móc je terminowo regulować.
Rozliczenia międzyokresowe po stronie pasywów
Rozliczenia międzyokresowe mogą występować nie tylko po stronie aktywów, ale również po stronie pasywów. Dotyczą one między innymi przychodów przyszłych okresów albo kosztów, które dotyczą danego okresu, ale nie zostały jeszcze formalnie zafakturowane lub rozliczone.
Przykładowo jeżeli przedsiębiorstwo otrzymało zapłatę z góry za usługę, którą wykona dopiero w przyszłości, to nie zawsze cała kwota powinna od razu zostać ujęta jako przychód bieżącego okresu. Może zostać rozliczona w czasie.
Bilans jako zestawienie aktywów i pasywów
Pokaż uproszczony układ bilansu
Bilans przedstawia aktywa, czyli majątek jednostki, oraz pasywa, czyli źródła finansowania tego majątku. Poniższe zestawienie pokazuje uproszczony układ najważniejszych grup aktywów i pasywów.
Pozycja
Nazwa pozycji
Krótkie wyjaśnienie
AKTYWA — majątek jednostki
A
Aktywa trwałe
Składniki majątku przeznaczone do długotrwałego używania w jednostce.
A.I
Wartości niematerialne i prawne
Np. licencje, oprogramowanie, prawa autorskie, patenty, znaki towarowe.
A.II
Rzeczowe aktywa trwałe
Np. grunty, budynki, maszyny, urządzenia, środki transportu, wyposażenie.
A.III
Należności długoterminowe
Kwoty należne jednostce, których termin spłaty przypada zasadniczo po okresie dłuższym niż 12 miesięcy.
A.IV
Inwestycje długoterminowe
Np. udziały, akcje, obligacje, nieruchomości inwestycyjne utrzymywane długoterminowo.
A.V
Długoterminowe rozliczenia międzyokresowe
Koszty lub inne rozliczenia dotyczące przyszłych okresów, rozliczane długoterminowo.
B
Aktywa obrotowe
Składniki majątku przeznaczone do zużycia, sprzedaży lub zamiany na gotówkę w krótkim czasie.
B.I
Zapasy
Np. materiały, półprodukty, produkty gotowe, towary oraz zaliczki na dostawy.
B.II
Należności krótkoterminowe
Kwoty należne jednostce, zwykle płatne w ciągu 12 miesięcy, np. od odbiorców.
B.III
Inwestycje krótkoterminowe
Przede wszystkim środki pieniężne oraz krótkoterminowe aktywa finansowe.
B.IV
Krótkoterminowe rozliczenia międzyokresowe
Rozliczenia dotyczące przyszłych okresów, które zostaną rozliczone krótkoterminowo.
PASYWA — źródła finansowania majątku
A
Kapitał (fundusz) własny
Źródła finansowania należące do właścicieli jednostki oraz wypracowany wynik pozostawiony w firmie.
A.I
Kapitał (fundusz) podstawowy
Podstawowy wkład właścicieli, np. kapitał zakładowy w spółce kapitałowej.
A.II
Kapitał (fundusz) zapasowy
Kapitał tworzony m.in. z zatrzymanych zysków lub nadwyżki ceny emisyjnej.
A.III
Kapitał (fundusz) z aktualizacji wyceny
Kapitał wynikający z przeszacowania określonych składników majątku.
A.IV
Pozostałe kapitały (fundusze) rezerwowe
Inne kapitały tworzone zgodnie z przepisami, umową lub decyzją jednostki.
A.V
Zysk (strata) z lat ubiegłych
Nierozliczony wynik finansowy z poprzednich lat.
A.VI
Zysk (strata) netto
Wynik finansowy bieżącego roku obrotowego.
A.VII
Odpisy z zysku netto w ciągu roku obrotowego
Pozycja korygująca, jeżeli w ciągu roku dokonano odpisów z wyniku.
B
Zobowiązania i rezerwy na zobowiązania
Źródła finansowania obcego oraz przewidywane przyszłe obowiązki jednostki.
B.I
Rezerwy na zobowiązania
Prawdopodobne przyszłe zobowiązania, których kwota lub termin nie są pewne.
B.II
Zobowiązania długoterminowe
Zobowiązania płatne zasadniczo po okresie dłuższym niż 12 miesięcy.
B.III
Zobowiązania krótkoterminowe
Zobowiązania płatne zwykle w ciągu 12 miesięcy, np. wobec dostawców, urzędu skarbowego, ZUS lub pracowników.
B.IV
Rozliczenia międzyokresowe
Przychody przyszłych okresów lub inne rozliczenia ujmowane po stronie pasywów.
Zestawienie ma charakter dydaktyczny i pokazuje najważniejsze grupy bilansowe. Pełny układ bilansu może zawierać bardziej szczegółowe pozycje, zależnie od rodzaju jednostki i stosowanego załącznika do ustawy o rachunkowości.
Aktywa i pasywa są prezentowane w podstawowym sprawozdaniu finansowym, jakim jest bilans. Bilans pokazuje sytuację majątkową i finansową jednostki na określony dzień, najczęściej na koniec roku obrotowego.
Po lewej stronie lub w pierwszej części bilansu znajdują się aktywa, czyli majątek jednostki. Po prawej stronie lub w drugiej części znajdują się pasywa, czyli źródła finansowania tego majątku.
Aktywa
Pasywa
Aktywa trwałe
Kapitał własny
Aktywa obrotowe
Zobowiązania i rezerwy na zobowiązania
Suma aktywów musi być zawsze równa sumie pasywów. Jeżeli tak nie jest, oznacza to błąd w danych, księgowaniach albo sposobie sporządzenia zestawienia.
Kapitał stały
W analizie finansowej często pojawia się pojęcie kapitału stałego. Nie jest to osobna pozycja bilansu, lecz kategoria analityczna.
Najczęściej kapitał stały oblicza się jako:
Kapitał stały = Kapitał własny + Zobowiązania długoterminowe
Kapitał stały obejmuje więc te źródła finansowania, które pozostają do dyspozycji przedsiębiorstwa przez dłuższy czas. Ma on duże znaczenie przy ocenie bezpieczeństwa finansowania aktywów trwałych.
Jeżeli przedsiębiorstwo finansuje długoterminowy majątek krótkoterminowymi zobowiązaniami, może narazić się na problemy płynnościowe. Dlatego w analizie finansowej sprawdza się, czy aktywa trwałe są pokryte kapitałem stałym.
Wyznaczanie kapitału stałego oraz kapitału obrotowego.
Kapitał obrotowy netto
Obok kapitału stałego w analizie bilansu często pojawia się również pojęcie kapitału obrotowego netto. Jest to kategoria analityczna, która pomaga ocenić, czy przedsiębiorstwo ma wystarczające zasoby krótkoterminowe do regulowania bieżących zobowiązań.
Najczęściej kapitał obrotowy netto oblicza się według wzoru:
Jeżeli aktywa obrotowe są wyższe od zobowiązań krótkoterminowych, przedsiębiorstwo posiada dodatni kapitał obrotowy netto. Oznacza to, że część aktywów obrotowych jest finansowana źródłami długoterminowymi, czyli kapitałem stałym. Zwykle zwiększa to bezpieczeństwo finansowe firmy, ponieważ nie cały majątek obrotowy musi zostać sfinansowany krótkoterminowymi zobowiązaniami.
Kapitał obrotowy netto można również przedstawić od strony źródeł finansowania:
Kapitał obrotowy netto = Kapitał stały − Aktywa trwałe
Oba wzory prowadzą do tej samej wartości, ale pokazują kapitał obrotowy netto z dwóch różnych punktów widzenia. Pierwszy wzór wychodzi od aktywów obrotowych i zobowiązań krótkoterminowych, natomiast drugi pokazuje, jaka część kapitału stałego pozostaje jeszcze do finansowania majątku obrotowego po pokryciu aktywów trwałych.
Dodatni kapitał obrotowy netto jest zwykle interpretowany jako korzystny sygnał z punktu widzenia płynności finansowej. Nie oznacza jednak automatycznie, że sytuacja przedsiębiorstwa jest idealna. Trzeba jeszcze sprawdzić strukturę aktywów obrotowych, na przykład udział gotówki, należności i zapasów, a także terminy spłaty zobowiązań krótkoterminowych.
Złote reguły finansowania
Jedną z klasycznych zasad analizy bilansu jest złota reguła finansowania. W najprostszym ujęciu mówi ona, że aktywa trwałe powinny być finansowane kapitałem własnym.
Można ją zapisać następująco:
Kapitał własny ≥ Aktywa trwałe
Jest to bardzo ostrożne podejście. Jeżeli firma finansuje cały majątek trwały kapitałem własnym, oznacza to wysoką stabilność finansową. W praktyce jednak wiele przedsiębiorstw korzysta również z długoterminowego finansowania obcego, na przykład kredytów inwestycyjnych.
Dlatego często stosuje się mniej restrykcyjną wersję tej zasady, określaną jako złota reguła bilansowa:
Kapitał stały ≥ Aktywa trwałe
Oznacza to, że aktywa trwałe powinny być finansowane źródłami długoterminowymi, czyli kapitałem własnym oraz zobowiązaniami długoterminowymi.
W kontekście finansowania działalności można spotkać również pojęcie złotej reguły bankowej. W ogólnym sensie oznacza ona dopasowanie terminów wymagalności źródeł finansowania do terminów wykorzystania majątku.
Innymi słowy, majątek długoterminowy powinien być finansowany kapitałem długoterminowym, a majątek krótkoterminowy może być finansowany krótkoterminowymi zobowiązaniami. Chodzi o to, aby przedsiębiorstwo nie musiało spłacać zobowiązań wcześniej, niż aktywa sfinansowane tymi zobowiązaniami będą w stanie wygenerować środki pieniężne.
Ta zasada jest szczególnie ważna przy ocenie płynności oraz ryzyka finansowego.
Dlaczego struktura aktywów i pasywów jest ważna?
Sama suma bilansowa, czyli łączna wartość aktywów i pasywów, nie mówi jeszcze wszystkiego o sytuacji przedsiębiorstwa. Dwie firmy mogą mieć taką samą wartość aktywów, ale zupełnie inną strukturę majątku i finansowania.
Jedna firma może mieć dużo gotówki i niewielkie zadłużenie, a druga może posiadać głównie trudno zbywalne aktywa trwałe oraz wysokie zobowiązania krótkoterminowe. Teoretycznie obie mogą mieć podobną sumę bilansową, ale ich sytuacja finansowa będzie zupełnie inna.
Dlatego w analizie bilansu zwraca się uwagę między innymi na udział aktywów trwałych i obrotowych w majątku, poziom kapitału własnego, udział zobowiązań w finansowaniu działalności, relację kapitału stałego do aktywów trwałych oraz relację aktywów obrotowych do zobowiązań krótkoterminowych.
Zrozumienie aktywów i pasywów jest konieczne, aby poprawnie interpretować podstawowe wskaźniki finansowe. Na danych z bilansu opierają się między innymi wskaźniki płynności, zadłużenia, rentowności i sprawności działania.
wskaźnik ogólnego zadłużenia wykorzystuje relację zobowiązań do aktywów,
wskaźnik płynności bieżącej porównuje aktywa obrotowe ze zobowiązaniami krótkoterminowymi,
rentowność aktywów pokazuje relację zysku netto do wartości aktywów,
rentowność kapitału własnego pokazuje relację zysku netto do kapitału własnego.
Bez znajomości struktury bilansu trudno więc zrozumieć, co naprawdę oznaczają poszczególne wskaźniki. Dlatego aktywa i pasywa są jednym z podstawowych punktów wyjścia do nauki rachunkowości oraz analizy finansowej przedsiębiorstwa.
Podsumowanie
Aktywa i pasywa to jedne z najważniejszych pojęć rachunkowości. Aktywa pokazują, jaki majątek posiada przedsiębiorstwo, natomiast pasywa pokazują, z jakich źródeł ten majątek został sfinansowany.
Podstawowa zasada bilansowa mówi, że suma aktywów musi być równa sumie pasywów. Wynika to z faktu, że każdy składnik majątku ma swoje źródło finansowania.
Zrozumienie tych kategorii pozwala lepiej czytać bilans, oceniać sytuację finansową przedsiębiorstwa i przygotować się do bardziej zaawansowanej analizy, takiej jak analiza pionowa i pozioma bilansu, analiza płynności, analiza zadłużenia czy analiza rentowności.
Sebastian Dziarmaga-Działyński
Utworzono: 24.05.2026
Postać trygonometryczna i wykładnicza liczby zespolonej
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Postać trygonometryczna i wykładnicza liczby zespolonej pozwala opisywać liczbę nie tylko za pomocą jej części rzeczywistej i urojonej, lecz także za pomocą modułu oraz argumentu. Taki zapis szczególnie ułatwia mnożenie, dzielenie i potęgowanie liczb zespolonych, a także pozwala interpretować te działania jako skalowanie i obrót na płaszczyźnie zespolonej.
Teraz tę samą liczbę przedstawimy za pomocą długości jej promienia wodzącego oraz kąta określającego jego kierunek. Następnie przejdziemy do postaci wykładniczej, wzoru Eulera i wzoru de Moivre’a.
odpowiada na płaszczyźnie zespolonej punkt o współrzędnych \((a,b)\) oraz wektor prowadzący od początku układu współrzędnych do tego punktu.
Położenie punktu można opisać na dwa sposoby:
za pomocą współrzędnych prostokątnych \(a\) i \(b\),
za pomocą długości wektora \(r\) i kąta \(\varphi\).
Drugi sposób odpowiada współrzędnym biegunowym. Długość wektora jest modułem liczby zespolonej, natomiast kąt jest jej argumentem.
Dla liczby \(z=a+bi\) moduł wynosi \(r=\sqrt{a^2+b^2}\), natomiast \(a=r\cos\varphi\) i \(b=r\sin\varphi\), co prowadzi do postaci trygonometrycznej \(z=r(\cos\varphi+i\sin\varphi)\).
Moduł liczby zespolonej
Modułem liczby zespolonej \(z=a+bi\) jest długość odpowiadającego jej wektora. Oznaczamy go symbolem \(|z|\) albo literą \(r\):
\[
r=|z|=\sqrt{a^2+b^2}.
\]
Wzór wynika z twierdzenia Pitagorasa. Części rzeczywista i urojona są przyprostokątnymi trójkąta prostokątnego, natomiast moduł jest jego przeciwprostokątną.
Moduł jest zawsze liczbą rzeczywistą nieujemną:
\[|z|\geq0.\]
Ponadto
\[|z|=0\iff z=0.\]
Argument liczby zespolonej
Dla liczby zespolonej \(z\neq0\) argumentem nazywamy kąt skierowany między dodatnią półosią rzeczywistą a promieniem wodzącym liczby \(z\).
Kąt dodatni mierzymy przeciwnie do ruchu wskazówek zegara. Jeżeli liczba leży w IV ćwiartce, można opisać jej położenie zarówno za pomocą kąta ujemnego, jak i odpowiadającego mu kąta dodatniego większego od \(\frac{3\pi}{2}\).
Liczba \(0\) nie ma argumentu. Jej promień wodzący ma długość zero, a zatem nie wyznacza żadnego kierunku na płaszczyźnie zespolonej.
Argument ogólny i argument główny
Jeżeli \(\varphi\) jest argumentem liczby zespolonej, to argumentami są również wszystkie kąty różniące się od niego o całkowitą wielokrotność pełnego obrotu:
\[
\varphi+2k\pi,
\qquad
k\in\mathbb{Z}.
\]
Wynika to z okresowości funkcji sinus i cosinus:
\[
\cos(\varphi+2k\pi)=\cos\varphi,
\]
\[
\sin(\varphi+2k\pi)=\sin\varphi.
\]
Zbiór wszystkich argumentów liczby można zapisać jako
\[
\arg z=\{\varphi+2k\pi:k\in\mathbb{Z}\}.
\]
W praktyce często wybiera się z tego zbioru jedną wyróżnioną wartość, nazywaną argumentem głównym i oznaczaną najczęściej przez \(\operatorname{Arg}z\).
Dwie konwencje argumentu głównego
W podręcznikach, programach komputerowych i różnych dziedzinach techniki spotyka się dwie powszechne konwencje wyboru argumentu głównego.
Konwencja z argumentami nieujemnymi
\[
\operatorname{Arg}z\in[0,2\pi).
\]
W tej konwencji argumenty liczb z IV ćwiartki są większe od \(\frac{3\pi}{2}\), a argument liczby leżącej na ujemnej półosi rzeczywistej jest równy \(\pi\).
Konwencja symetryczna względem zera
\[
\operatorname{Arg}z\in(-\pi,\pi].
\]
W tej konwencji liczby z IV ćwiartki mają argumenty ujemne. Liczba leżąca na ujemnej półosi rzeczywistej nadal ma argument główny równy \(\pi\), natomiast wartość \(-\pi\) jest wyłączona z przedziału.
Obie konwencje są poprawne. Przed rozpoczęciem obliczeń należy jednak ustalić, która z nich jest stosowana. W dalszej części artykułu, o ile nie zaznaczono inaczej, przyjmujemy
\[
\operatorname{Arg}z\in[0,2\pi).
\]
Argument liczby zespolonej określa kierunek wektora na płaszczyźnie zespolonej, a wszystkie jego wartości mają postać \(\varphi+2k\pi\), gdzie \(k\in\mathbb{Z}\).
Jak wyznaczyć argument liczby zespolonej?
Aby wyznaczyć argument liczby \(z=a+bi\), należy najpierw ustalić, w której ćwiartce znajduje się punkt \((a,b)\). Sam iloraz \(\frac{b}{a}\) nie zawiera pełnej informacji o położeniu liczby.
Często wygodnie jest najpierw obliczyć ostry kąt pomocniczy \(\alpha\), utworzony przez promień wodzący i najbliższą półoś rzeczywistą. Dla \(a\neq0\) można wykorzystać zależności
Dla rzeczywistego kąta \(\varphi\) liczba \(e^{i\varphi}\) leży na okręgu jednostkowym. Jej część rzeczywista jest równa \(\cos\varphi\), a część urojona \(\sin\varphi\):
Ostatnia zależność jest wykładniczą wersją wzoru de Moivre’a.
Sprzężenie i odwrotność w postaci wykładniczej
Dla liczby
\[
z=re^{i\varphi}
\]
liczba sprzężona ma ten sam moduł, lecz przeciwny argument:
\[
\boxed{\overline{z}=re^{-i\varphi}.}
\]
Geometrycznie odpowiada to odbiciu punktu względem osi rzeczywistej.
Odwrotność liczby niezerowej wynosi
\[
\boxed{
z^{-1}=\frac1r e^{-i\varphi}.
}
\]
Moduł zostaje zastąpiony jego odwrotnością, natomiast argument zmienia znak.
Tożsamość Eulera
Dla kąta \(\varphi=\pi\) wzór Eulera daje
\[
e^{i\pi}=\cos\pi+i\sin\pi.
\]
Ponieważ
\[
\cos\pi=-1,
\qquad
\sin\pi=0,
\]
otrzymujemy
\[
e^{i\pi}=-1.
\]
Po przeniesieniu jedynki na lewą stronę powstaje słynna tożsamość Eulera:
\[
\boxed{e^{i\pi}+1=0.}
\]
Równość ta łączy pięć podstawowych stałych matematycznych:
\[
0,\qquad1,\qquad e,\qquad i,\qquad\pi.
\]
Porównanie trzech postaci liczby zespolonej
Postać
Zapis
Najwygodniejsze zastosowania
algebraiczna
\(z=a+bi\)
dodawanie, odejmowanie, porównywanie części rzeczywistych i urojonych
trygonometryczna
\(z=r(\cos\varphi+i\sin\varphi)\)
interpretacja geometryczna, mnożenie, dzielenie i potęgowanie
wykładnicza
\(z=re^{i\varphi}\)
zwięzły zapis mnożenia, dzielenia, potęgowania, obrotów i drgań
Różne postacie tej samej liczby zespolonej są przydatne przy różnych rodzajach działań.
Przejścia pomiędzy postaciami opisują zależności
\[
a=r\cos\varphi,
\qquad
b=r\sin\varphi,
\]
\[
r=\sqrt{a^2+b^2},
\]
\[
e^{i\varphi}=\cos\varphi+i\sin\varphi.
\]
Notacja elektrotechniczna
W elektrotechnice jednostkę urojoną oznacza się najczęściej literą \(j\), ponieważ litera \(i\) jest powszechnie używana jako symbol natężenia prądu.
Odpowiednikiem wzoru Eulera jest wtedy zapis
\[
e^{j\varphi}=\cos\varphi+j\sin\varphi.
\]
Impedancję można zapisywać w postaci algebraicznej
\[
Z=R+jX
\]
albo wykładniczej
\[
Z=|Z|e^{j\varphi}.
\]
W obu zapisach litery \(i\) i \(j\) oznaczają tę samą jednostkę urojoną.
Najczęstsze błędy
Wyznaczanie argumentu tylko ze wzoru na tangens
Równość
\[
\tan\varphi=\frac{b}{a}
\]
nie wystarcza do jednoznacznego określenia argumentu. Tangens ma okres \(\pi\), dlatego ten sam wynik otrzymujemy dla kierunków leżących w przeciwległych ćwiartkach.
Trzeba dodatkowo uwzględnić znaki \(a\) i \(b\) albo użyć funkcji \(\operatorname{atan2}(b,a)\).
Mylenie kąta pomocniczego z argumentem
Ostry kąt \(\alpha\) jest równy argumentowi tylko w I ćwiartce. W pozostałych ćwiartkach należy zastosować odpowiednią korektę:
Dla liczby z IV ćwiartki argument może zostać zapisany jako wartość dodatnia z przedziału \([0,2\pi)\) albo ujemna z przedziału \((-\pi,\pi]\). Nie należy zmieniać konwencji w trakcie jednego obliczenia bez wyraźnego zaznaczenia.
Przypisywanie argumentu liczbie zero
Liczba \(0\) nie ma argumentu, ponieważ nie wyznacza kierunku na płaszczyźnie zespolonej.
Dodawanie modułów i argumentów przy dodawaniu liczb
Reguły dotyczące mnożenia modułów i dodawania argumentów odnoszą się do iloczynu, a nie do sumy liczb zespolonych. Dodawanie najłatwiej wykonywać w postaci algebraicznej.
Stosowanie stopni we wzorze wykładniczym bez przeliczenia
We wzorze
\[
e^{i\varphi}=\cos\varphi+i\sin\varphi
\]
kąt \(\varphi\) należy standardowo podawać w radianach.
Podsumowanie
Liczbę zespoloną można opisać za pomocą modułu \(r\) i argumentu \(\varphi\). Dla liczby \(z=a+bi\neq0\) zachodzą zależności
\[
r=\sqrt{a^2+b^2},
\]
\[
a=r\cos\varphi,
\qquad
b=r\sin\varphi.
\]
Postać trygonometryczna ma postać
\[
z=r(\cos\varphi+i\sin\varphi),
\]
natomiast dzięki wzorowi Eulera można ją zapisać jako
\[
z=re^{i\varphi}.
\]
Przy mnożeniu liczb zespolonych ich moduły się mnoży, a argumenty dodaje. Przy dzieleniu moduły się dzieli, a argumenty odejmuje. Potęgowanie upraszcza wzór de Moivre’a:
Postać algebraiczna jest najwygodniejsza przy dodawaniu i odejmowaniu, natomiast postacie trygonometryczna i wykładnicza pozwalają w prosty sposób wykonywać działania związane z mnożeniem, dzieleniem, potęgowaniem, skalowaniem i obrotami.
Generator danych do modelu ekonometrycznego online
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Wprowadzenie
Podczas nauki ekonometrii często pojawia się bardzo praktyczny problem: skąd wziąć niewielki, czytelny zestaw danych, na którym można przećwiczyć estymację modelu liniowego? Dane rzeczywiste bywają zbyt skomplikowane, zawierają braki, obserwacje nietypowe albo zależności, których początkujący użytkownik nie potrafi jeszcze poprawnie zinterpretować. Z kolei wpisanie kilku liczb „z głowy” zwykle nie daje dobrego efektu, ponieważ między zmiennymi może nie występować żadna sensowna zależność.
Dlatego w celach dydaktycznych wygodnie jest korzystać z danych symulacyjnych, czyli danych wygenerowanych według określonego modelu. Użytkownik sam określa liczbę obserwacji, liczbę zmiennych objaśniających, wartości parametrów oraz siłę losowych zakłóceń. Następnie generator tworzy tabelę danych, którą można wykorzystać do ćwiczeń w Excelu, Gretlu, R, SPSS-ie albo innym programie statystycznym.
Wygenerowany zbiór danych ma charakter umowny. Nie opisuje konkretnej firmy, kraju ani rynku, ale pozwala zobaczyć, jak działa liniowy model ekonometryczny. Dzięki temu można samodzielnie przećwiczyć estymację parametrów, interpretację wyników oraz wpływ składnika losowego na dokładność otrzymanego modelu.
Po co generować dane do ćwiczeń?
Jeżeli do arkusza kalkulacyjnego wpiszemy przypadkowe wartości zmiennych objaśniających i zmiennej objaśnianej, możemy otrzymać model, który będzie miał bardzo słabe własności statystyczne. Współczynnik determinacji może być niski, znaki ocen parametrów mogą być przypadkowe, a zależność między zmiennymi może nie mieć żadnej sensownej interpretacji.
W przypadku danych wygenerowanych według zadanego modelu sytuacja jest inna. Wiemy, że zmienna objaśniana powstała zgodnie z równaniem:
gdzie \(y_i\) oznacza wartość zmiennej objaśnianej, \(x_{1i}, x_{2i}, \ldots, x_{ki}\) są wartościami zmiennych objaśniających, \(\beta_0, \beta_1, \ldots, \beta_k\) są parametrami modelu, natomiast \(\varepsilon_i\) oznacza składnik losowy.
W praktyce oznacza to, że dane nie są zupełnie przypadkowe. Mają wbudowaną zależność liniową, która zostaje jedynie zakłócona przez losowy składnik. Dzięki temu można sprawdzić, czy metoda najmniejszych kwadratów pozwala odzyskać parametry zbliżone do tych, które zostały użyte podczas generowania danych.
Jak działa generator danych?
Generator dostępny poniżej tworzy przykładowy zbiór danych do ćwiczeniowego modelu ekonometrycznego. Użytkownik wybiera liczbę obserwacji, liczbę zmiennych objaśniających, typ każdej zmiennej oraz wartości parametrów modelu. Następnie skrypt generuje wartości zmiennych \(x_1, x_2, \ldots, x_k\), oblicza wartość zmiennej \(y\) i dodaje składnik losowy o zadanym odchyleniu standardowym.
Wynikiem działania generatora jest tabela danych, którą można przepisać, skopiować albo pobrać w pliku CSV. Taki plik można następnie otworzyć w Excelu, LibreOffice Calc, Gretlu albo zaimportować do programu R.
Zmienna czasowa przyjmuje wartości \(1, 2, 3, \ldots, n\), gdzie \(n\) oznacza liczbę obserwacji. Jest przydatna szczególnie wtedy, gdy chcemy poćwiczyć model z trendem liniowym.
Zmienna zero-jedynkowa
Zmienna zero-jedynkowa przyjmuje wartości 0 albo 1. Może oznaczać na przykład przynależność do grupy, wystąpienie pewnego zdarzenia, okres przed i po zmianie albo inną cechę jakościową zakodowaną liczbowo.
Zmienna sezonowa
Zmienna sezonowa powtarza kolejne numery sezonów, na przykład \(1, 2, 3, 4, 1, 2, 3, 4,\ldots\) dla danych kwartalnych. W rzeczywistych modelach sezonowość często wprowadza się za pomocą zmiennych zero-jedynkowych, ale prosta zmienna sezonowa może być użyteczna na etapie ćwiczeń i eksperymentowania z danymi.
Zmienna losowa o rozkładzie jednostajnym
W tym przypadku użytkownik podaje wartość minimalną i maksymalną, a generator losuje wartości z podanego przedziału. Taki typ zmiennej jest wygodny, gdy chcemy otrzymać wartości rozłożone mniej więcej równomiernie w określonym zakresie.
Zmienna losowa o rozkładzie normalnym
W tym przypadku użytkownik podaje średnią oraz odchylenie standardowe. Generator tworzy wartości skupione wokół średniej, z losowymi odchyleniami zgodnymi z rozkładem normalnym.
Znaczenie składnika losowego
Odchylenie standardowe składnika losowego decyduje o tym, jak silnie wartości zmiennej \(y\) są zakłócone. Jeżeli ustawimy małą wartość odchylenia standardowego, dane będą bardzo dobrze dopasowane do modelu liniowego. Jeżeli ustawimy większą wartość, rozrzut punktów będzie większy, a oszacowane parametry mogą bardziej różnić się od parametrów użytych do wygenerowania danych.
To bardzo dobry sposób, aby zobaczyć, dlaczego w praktyce wyniki estymacji nie muszą być identyczne z rzeczywistymi parametrami zależności. Model ekonometryczny zawsze pracuje na danych, które zawierają pewien element losowy, błędy pomiaru albo wpływ czynników nieuwzględnionych w równaniu.
Generator danych do modelu ekonometrycznego
W poniższym formularzu wybierz liczbę obserwacji i zmiennych objaśniających. Następnie określ typ każdej zmiennej, wartości parametrów modelu oraz odchylenie standardowe składnika losowego. Po kliknięciu przycisku generator utworzy tabelę danych gotową do skopiowania lub pobrania w formacie CSV.
Jak wykorzystać wygenerowane dane?
Po wygenerowaniu danych można je skopiować albo pobrać jako plik CSV. Następnie można oszacować model liniowy w wybranym programie. W Excelu można użyć narzędzia regresji dostępnego w dodatku „Analiza danych” albo funkcji arkuszowych. W Gretlu wystarczy zaimportować plik CSV i wybrać model MNK. W R można użyć funkcji lm().
Po oszacowaniu modelu warto porównać otrzymane oceny parametrów z wartościami wpisanymi wcześniej w generatorze. Im mniejsze odchylenie standardowe składnika losowego oraz im większa liczba obserwacji, tym zwykle łatwiej otrzymać wyniki zbliżone do parametrów użytych podczas generowania danych.
Podsumowanie
Generator danych do modelu ekonometrycznego pozwala szybko przygotować prosty, ćwiczeniowy zestaw obserwacji. Dzięki temu można skupić się na nauce estymacji, interpretacji parametrów i analizie wyników, zamiast tracić czas na ręczne wymyślanie liczb. Dane mają charakter symulacyjny, ale właśnie dlatego dobrze nadają się do nauki podstaw ekonometrii.
Sebastian Dziarmaga-Działyński
Utworzono: 21.05.2026 | Zmodyfikowano: 26.05.2026
Zagadnienie transportowe i metoda potencjałów
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Zagadnienie transportowe jest jednym z klasycznych problemów programowania liniowego. Chociaż każde takie zadanie można, przynajmniej teoretycznie, rozwiązać ogólną metodą simplex, to w praktyce dla pewnych szczególnych typów problemów wygodniej stosuje się algorytmy wyspecjalizowane. Jednym z najważniejszych przykładów takiego podejścia jest właśnie algorytm transportowy.
O ile algorytm simplex jest metodą uniwersalną, przeznaczoną do rozwiązywania ogólnych zadań programowania liniowego, o tyle metoda transportowa wykorzystuje szczególną strukturę pewnej klasy problemów. Dzięki temu obliczenia są bardziej przejrzyste, a samo zadanie można wygodnie zapisać w postaci tabeli transportowej.
W tym artykule omówimy, czym jest zagadnienie transportowe, jak wygląda jego model matematyczny, czym różni się zadanie zbilansowane od niezbilansowanego oraz na czym polegają najważniejsze etapy algorytmu transportowego: wyznaczanie początkowego rozwiązania bazowego i poprawianie go metodą potencjałów.
Zagadnienie transportowe polega na ustaleniu takiego planu przewozów jednorodnego towaru od dostawców do odbiorców, aby spełnić ograniczenia podaży i popytu oraz zminimalizować łączny koszt transportu.
W klasycznym zadaniu transportowym występują:
dostawcy, czyli miejsca, z których towar może zostać wysłany,
odbiorcy, czyli miejsca, do których towar ma zostać dostarczony,
podaż każdego dostawcy, czyli liczba jednostek towaru dostępna u danego dostawcy,
popyt każdego odbiorcy, czyli liczba jednostek towaru potrzebna danemu odbiorcy,
koszty jednostkowe transportu między każdą parą dostawca – odbiorca.
Przykładowo, dostawcami mogą być magazyny, fabryki albo bazy logistyczne, natomiast odbiorcami — sklepy, hurtownie, zakłady produkcyjne lub punkty dystrybucji. Towarem może być dowolne dobro jednorodne: paliwo, zboże, cement, piasek, energia, surowiec produkcyjny albo gotowy produkt.
Założenie o jednorodności towaru jest ważne. Oznacza ono, że każda jednostka przewożonego dobra jest traktowana tak samo. Nie rozróżniamy więc różnych gatunków, modeli, klas jakości ani terminów ważności. Jeżeli mamy kilka różnych produktów, to zwykle należy rozwiązać kilka osobnych zadań transportowych albo zbudować bardziej złożony model programowania liniowego.
Klasyczne zadanie transportowe zakłada również podzielność przewozów. Dostawca może więc wysłać część swojej podaży do jednego odbiorcy, część do drugiego, a pozostałą część do kolejnych odbiorców. Nie musimy wysyłać całego towaru od jednego dostawcy do jednego odbiorcy.
Schemat zadania transportowego, jego bilansowania oraz cyklu poprawy rozwiązania w metodzie potencjałów.
Model matematyczny zadania transportowego
Aby zapisać zagadnienie transportowe w postaci matematycznej, wprowadzamy następujące oznaczenia:
\(m\) — liczba dostawców,
\(n\) — liczba odbiorców,
\(a_i\) — podaż \(i\)-tego dostawcy,
\(b_j\) — popyt \(j\)-tego odbiorcy,
\(c_{ij}\) — jednostkowy koszt przewozu od \(i\)-tego dostawcy do \(j\)-tego odbiorcy,
\(x_{ij}\) — liczba jednostek towaru przewieziona od \(i\)-tego dostawcy do \(j\)-tego odbiorcy.
Zmiennymi decyzyjnymi są więc wielkości przewozów:
\[
\min Z = \sum_{i=1}^{m}\sum_{j=1}^{n} c_{ij}x_{ij}.
\]
Oznacza to, że minimalizujemy całkowity koszt transportu. Każdy składnik \(c_{ij}x_{ij}\) oznacza koszt przewozu określonej liczby jednostek towaru na konkretnej trasie.
Oprócz funkcji celu występują ograniczenia dotyczące podaży i popytu. Każdy przewóz musi być również nieujemny:
\[
x_{ij} \geq 0. \]
W zależności od relacji między łączną podażą i łącznym popytem, ograniczenia mogą mieć nieco różną postać. Właśnie dlatego warto najpierw rozróżnić zadanie zbilansowane i niezbilansowane.
Zadanie zbilansowane i niezbilansowane
Zadanie transportowe nazywamy zbilansowanym, jeżeli suma podaży wszystkich dostawców jest równa sumie popytu wszystkich odbiorców:
\[
\sum_{i=1}^{m} a_i = \sum_{j=1}^{n} b_j. \]
W takim przypadku cała dostępna podaż zostanie rozdysponowana i cały popyt zostanie zaspokojony. Ograniczenia przyjmują wtedy postać równości.
Dla każdego dostawcy:
\[
\sum_{j=1}^{n} x_{ij} = a_i. \]
Dla każdego odbiorcy:
\[
\sum_{i=1}^{m} x_{ij} = b_j. \]
Inaczej wygląda sytuacja, gdy zadanie nie jest zbilansowane. Wtedy łączna podaż może być większa od łącznego popytu albo łączny popyt może być większy od łącznej podaży.
Gdy podaż jest większa od popytu
Jeżeli:
\[
\sum_{i=1}^{m} a_i > \sum_{j=1}^{n} b_j, \]
to dostawcy mają więcej towaru, niż potrzebują odbiorcy. Wtedy cały popyt powinien zostać zaspokojony, ale część podaży może pozostać niewykorzystana.
Dla odbiorców mamy więc równości:
\[
\sum_{i=1}^{m} x_{ij} = b_j, \]
natomiast dla dostawców nierówności:
\[
\sum_{j=1}^{n} x_{ij} \leq a_i. \]
Gdy popyt jest większy od podaży
Jeżeli:
\[
\sum_{i=1}^{m} a_i < \sum_{j=1}^{n} b_j, \]
to odbiorcy potrzebują więcej towaru, niż mogą dostarczyć dostawcy. W takiej sytuacji cała dostępna podaż powinna zostać wykorzystana, ale nie cały popyt może zostać zaspokojony.
Dla dostawców mamy więc równości:
\[
\sum_{j=1}^{n} x_{ij} = a_i, \]
natomiast dla odbiorców nierówności:
\[
\sum_{i=1}^{m} x_{ij} \leq b_j. \]
Można powiedzieć, że w zadaniu niezbilansowanym równości pojawiają się po stronie, która jest ograniczającym zasobem. Jeżeli brakuje podaży, cała podaż musi zostać wykorzystana. Jeżeli natomiast podaży jest za dużo, cały popyt musi zostać zaspokojony, ale część podaży może pozostać niewykorzystana.
Bilansowanie zadania transportowego
Klasyczny algorytm transportowy stosujemy do zadania zbilansowanego. Jeżeli zadanie nie jest zbilansowane, należy je najpierw sprowadzić do postaci zbilansowanej.
Robi się to przez dodanie fikcyjnego dostawcy albo fikcyjnego odbiorcy.
Fikcyjny odbiorca
Jeżeli łączna podaż jest większa od łącznego popytu, dodajemy fikcyjnego odbiorcę. Jego popyt jest równy nadwyżce podaży nad popytem:
Przewóz do fikcyjnego odbiorcy oznacza w praktyce niewykorzystaną część podaży. Jeżeli w treści zadania nie podano żadnych dodatkowych kosztów, jednostkowe koszty przewozu do fikcyjnego odbiorcy przyjmuje się zwykle jako zerowe:
\[
c_{i,n+1}=0.
\]
Fikcyjny dostawca
Jeżeli łączny popyt jest większy od łącznej podaży, dodajemy fikcyjnego dostawcę. Jego podaż jest równa niedoborowi podaży:
Przewóz od fikcyjnego dostawcy oznacza niezaspokojoną część popytu. Jeżeli brak niezaspokojenia popytu nie jest karany, koszty w fikcyjnym wierszu również przyjmuje się jako zerowe:
\[
c_{m+1,j}=0.
\]
Trzeba jednak zachować ostrożność. Jeżeli w treści zadania występują koszty magazynowania, kary za niezaspokojenie popytu, koszty utraconych korzyści albo inne dodatkowe koszty, to nie należy automatycznie wpisywać zer. Wtedy w komórkach fikcyjnego wiersza lub fikcyjnej kolumny powinny znaleźć się wartości wynikające z treści zadania.
Schemat bilansowania zadania transportowego.
Rozwiązanie bazowe w zadaniu transportowym
Po zbilansowaniu zadania można przystąpić do algorytmu transportowego. Składa się on z dwóch głównych etapów:
wyznaczenia początkowego rozwiązania bazowego dopuszczalnego,
poprawiania tego rozwiązania aż do uzyskania rozwiązania optymalnego.
Rozwiązanie dopuszczalne to taki plan przewozów, który spełnia wszystkie ograniczenia podaży i popytu. Nie musi być ono jednak najlepsze. Może być bardzo dalekie od optimum. Ważne jest tylko to, aby stanowiło punkt wyjścia do dalszych obliczeń.
W zadaniu transportowym o \(m\) dostawcach i \(n\) odbiorcach rozwiązanie bazowe powinno zawierać:
\[
m+n-1
\]
komórek bazowych.
Komórka bazowa to komórka tabeli transportowej, w której znajduje się przewóz dodatni albo przewóz równy zero, ale świadomie potraktowany jako element bazy. Ten drugi przypadek jest szczególnie ważny przy rozwiązaniach zdegenerowanych.
Degeneracja rozwiązania
Jeżeli liczba zajętych komórek jest mniejsza niż \(m+n-1\), mamy do czynienia z rozwiązaniem zdegenerowanym. Wtedy trzeba uzupełnić bazę, wpisując w odpowiednio dobranej pustej komórce przewóz równy zero.
Takie zero nie zmienia wartości funkcji celu ani rzeczywistego planu przewozów. Ma jednak znaczenie techniczne: pozwala zachować prawidłową strukturę bazy, wyznaczyć potencjały i przeprowadzić kolejne kroki algorytmu.
Komórki zerowej nie należy jednak wybierać całkowicie przypadkowo. Powinna ona zostać dodana tak, aby układ komórek bazowych umożliwiał wyznaczenie wszystkich potencjałów i nie tworzył zamkniętego cyklu już w samej bazie.
Praktycznie można kierować się zasadą, że nie powinniśmy doprowadzić do sytuacji, w której jakaś część tabeli zostanie „odłączona” od pozostałych komórek bazowych. Każdy wiersz i każda kolumna powinny być powiązane z resztą bazy tak, aby dało się przechodzić między komórkami bazowymi przez wspólne wiersze i kolumny.
Metoda kąta północno-zachodniego
Jedną z najprostszych metod wyznaczania początkowego rozwiązania bazowego jest metoda kąta północno-zachodniego. Nazwa pochodzi od sposobu poruszania się po tabeli transportowej. Zaczynamy od komórki położonej w lewym górnym rogu, czyli umownie w „północno-zachodnim” kącie tabeli.
W pierwszej komórce wpisujemy możliwie największy przewóz, czyli mniejszą z dwóch wartości: podaży danego dostawcy i popytu danego odbiorcy.
Jeżeli wyczerpie się podaż dostawcy, przechodzimy do następnego wiersza. Jeżeli zaspokoimy popyt odbiorcy, przechodzimy do następnej kolumny. Procedurę powtarzamy, aż cała tabela zostanie rozliczona.
Metoda ta jest bardzo prosta i szybka. Jej główną wadą jest jednak to, że całkowicie pomija koszty transportu. Oznacza to, że początkowe rozwiązanie bazowe może być bardzo dalekie od optymalnego.
W konsekwencji metoda potencjałów może później wymagać wielu iteracji, aby poprawić plan przewozów i dojść do optimum.
Uwaga na przechodzenie po przekątnej
W metodzie kąta północno-zachodniego szczególnie ostrożnie trzeba postępować wtedy, gdy w jednej komórce jednocześnie wyczerpuje się podaż danego dostawcy i zaspokaja popyt danego odbiorcy. Gdybyśmy w takiej sytuacji przeszli od razu po przekątnej do kolejnej komórki, moglibyśmy stracić jedną komórkę bazową.
W praktyce należy wtedy wprowadzić komórkę bazową z przewozem równym zero — obok albo pod spodem, zależnie od dalszego układu tabeli. Chodzi o to, aby liczba komórek bazowych wynosiła \(m+n-1\) i aby możliwe było późniejsze wyznaczenie potencjałów.
Metoda minimalnego elementu macierzy
Drugą popularną metodą wyznaczania początkowego rozwiązania bazowego jest metoda minimalnego elementu macierzy. W przeciwieństwie do metody kąta północno-zachodniego bierze ona pod uwagę koszty transportu.
W najprostszej wersji tej metody wybieramy komórkę o najmniejszym koszcie jednostkowym w całej tabeli. Następnie wpisujemy do niej możliwie największy przewóz, czyli minimum z dostępnej podaży danego dostawcy i niezaspokojonego popytu danego odbiorcy.
Po wpisaniu przewozu wykreślamy z dalszych rozważań zaspokojony wiersz albo zaspokojoną kolumnę. Następnie spośród pozostałych komórek ponownie wybieramy tę o najmniejszym koszcie i powtarzamy procedurę.
Metoda minimalnego elementu macierzy zwykle daje lepsze rozwiązanie początkowe niż metoda kąta północno-zachodniego, ponieważ od początku preferuje tańsze trasy przewozu. Nie gwarantuje jednak rozwiązania optymalnego. Nadal jest to tylko metoda wyznaczania rozwiązania startowego.
Dwie wersje metody minimalnego elementu
W praktyce można spotkać dwa podejścia określane czasem podobną nazwą. Pierwsze, najczęściej stosowane w klasycznych zadaniach transportowych, polega po prostu na wybieraniu najmniejszego dostępnego kosztu w tabeli.
Drugie podejście przypomina w pewnym stopniu ideę znaną z algorytmu węgierskiego. Najpierw przekształca się macierz kosztów, odejmując minima w wierszach i kolumnach, aby uzyskać zera, a następnie próbuje rozmieszczać przewozy w komórkach zerowych. W typowym kursie programowania liniowego częściej spotyka się jednak pierwszą, prostszą wersję metody minimalnego elementu.
Także w tej metodzie może wystąpić degeneracja. Dzieje się tak zwłaszcza wtedy, gdy w wyniku jednego przydziału jednocześnie wyczerpuje się podaż i zaspokaja popyt. W takiej sytuacji również należy zadbać o odpowiednią liczbę komórek bazowych.
Metoda VAM, czyli metoda Vogla
Bardziej zaawansowaną metodą wyznaczania początkowego rozwiązania bazowego jest metoda VAM, czyli metoda aproksymacyjna Vogla. Jej celem jest uzyskanie możliwie dobrego rozwiązania startowego, często lepszego niż w metodzie kąta północno-zachodniego i metodzie minimalnego elementu macierzy.
Metoda VAM opiera się na obliczaniu tzw. kar dla wierszy i kolumn. Kara jest różnicą między dwoma najmniejszymi kosztami w danym wierszu albo kolumnie.
Intuicja jest następująca: jeżeli w danym wierszu najtańsza trasa jest dużo tańsza od drugiej najtańszej, to niewykorzystanie tej najtańszej trasy może być kosztowne. Duża kara oznacza więc, że warto zwrócić uwagę na dany wiersz albo kolumnę.
Ogólny schemat metody VAM jest następujący:
Dla każdego niewykreślonego wiersza i każdej niewykreślonej kolumny obliczamy karę jako różnicę między dwoma najmniejszymi kosztami.
Wybieramy wiersz albo kolumnę o największej karze.
W wybranym wierszu lub kolumnie wybieramy komórkę o najmniejszym koszcie.
Wpisujemy tam możliwie największy przewóz.
Wykreślamy zaspokojony wiersz lub zaspokojoną kolumnę.
Powtarzamy procedurę aż do rozliczenia całej podaży i całego popytu.
Metoda VAM jest nieco bardziej pracochłonna od poprzednich metod, ale zwykle daje lepszy punkt startowy. Dzięki temu późniejsza metoda potencjałów może wymagać mniejszej liczby poprawek.
Metoda potencjałów
Gdy mamy już początkowe rozwiązanie bazowe dopuszczalne, należy sprawdzić, czy jest ono optymalne. Do tego służy metoda potencjałów.
Dla każdego wiersza tabeli wprowadzamy potencjał \(u_i\), a dla każdej kolumny potencjał \(v_j\). Potencjały wyznaczamy na podstawie komórek bazowych.
Dla każdej komórki bazowej musi być spełniona zależność:
\[
u_i + v_j = c_{ij}.
\]
Oznacza to, że suma potencjału danego wiersza i potencjału danej kolumny ma być równa kosztowi jednostkowemu w komórce bazowej.
Ponieważ liczba potencjałów jest o jeden większa od liczby niezależnych równań, jeden potencjał można przyjąć dowolnie. Najczęściej przyjmuje się:
\[
u_1 = 0. \]
Następnie, korzystając z równań dla komórek bazowych, wyznacza się pozostałe potencjały.
Jeżeli nie da się wyznaczyć wszystkich potencjałów, jest to zwykle sygnał, że baza została zbudowana nieprawidłowo albo że występuje degeneracja, której nie uzupełniono odpowiednią komórką zerową.
Wskaźniki optymalności
Po wyznaczeniu potencjałów sprawdzamy komórki niebazowe, czyli te, w których aktualnie nie ma przewozu i które nie należą do bazy. Dla każdej takiej komórki obliczamy wskaźnik optymalności:
\[
\Delta_{ij} = c_{ij} - u_i - v_j. \]
W zadaniu minimalizacji interpretacja jest następująca:
jeżeli wszystkie \(\Delta_{ij} \geq 0\), rozwiązanie jest optymalne,
jeżeli istnieje przynajmniej jedno \(\Delta_{ij} < 0\), rozwiązanie można poprawić,
im bardziej ujemny wskaźnik, tym większą poprawę kosztu jednostkowego może dać wprowadzenie tej komórki do bazy.
Wskaźnik optymalności informuje, o ile zmieni się wartość funkcji celu przy wprowadzeniu jednej jednostki przewozu do danej komórki niebazowej, oczywiście przy jednoczesnym odpowiednim skorygowaniu pozostałych przewozów w cyklu.
Jeżeli wskaźnik jest ujemny, oznacza to, że wprowadzenie przewozu w tej komórce pozwala obniżyć łączny koszt transportu. Taka komórka jest kandydatem do wejścia do bazy.
Jeżeli wskaźnik jest równy zero, wprowadzenie tej komórki do bazy nie zmieni wartości funkcji celu. Może to oznaczać istnienie alternatywnego rozwiązania optymalnego.
Cykl poprawy rozwiązania
Jeżeli rozwiązanie nie jest optymalne, wybieramy komórkę niebazową z ujemnym wskaźnikiem optymalności. Najczęściej wybiera się komórkę o najbardziej ujemnym wskaźniku, ponieważ daje ona największą potencjalną poprawę.
Wybrana komórka wchodzi do bazy. Następnie trzeba zbudować dla niej zamknięty cykl przechodzący przez komórki bazowe.
Cykl w zadaniu transportowym ma kilka ważnych cech:
zaczyna się i kończy w komórce wchodzącej do bazy,
przechodzi wyłącznie przez komórki bazowe oraz komórkę wchodzącą,
porusza się tylko poziomo i pionowo, nigdy po skosie,
w każdym narożniku cyklu zmieniamy kierunek ruchu,
znaki w cyklu rozmieszcza się naprzemiennie: \(+\), \(-\), \(+\), \(-\).
Komórka wchodząca do bazy otrzymuje znak plus. Następnie w kolejnych narożnikach cyklu wpisuje się naprzemiennie minus, plus, minus i tak dalej.
Spośród komórek oznaczonych znakiem minus wybieramy najmniejszy przewóz. Oznaczmy go przez \(\theta\). Następnie:
do komórek ze znakiem plus dodajemy \(\theta\),
od komórek ze znakiem minus odejmujemy \(\theta\).
W ten sposób otrzymujemy nowe rozwiązanie bazowe dopuszczalne. Ograniczenia podaży i popytu pozostają spełnione, ponieważ w każdym wierszu i w każdej kolumnie cyklu jedna wartość jest zwiększana, a druga zmniejszana o tę samą wielkość.
Dla danej komórki wchodzącej, przy prawidłowej strukturze bazy, cykl jest wyznaczony jednoznacznie. W prostych przykładach obejmuje on cztery komórki, ale w większych zadaniach może być dłuższy i przechodzić przez większą liczbę wierszy oraz kolumn.
Schemat cyklu poprawy rozwiązania w metodzie potencjałów.
Kiedy rozwiązanie jest optymalne?
Rozwiązanie zadania transportowego jest optymalne, gdy dla wszystkich komórek niebazowych wskaźniki optymalności są nieujemne:
\[
\Delta_{ij} \geq 0. \]
Wtedy nie istnieje już żadna pusta komórka, której wprowadzenie do bazy mogłoby obniżyć całkowity koszt transportu.
Jeżeli wszystkie wskaźniki optymalności dla komórek niebazowych są dodatnie, rozwiązanie optymalne jest jednoznaczne.
Jeżeli natomiast przynajmniej jeden wskaźnik optymalności dla komórki niebazowej jest równy zero, zadanie może mieć więcej niż jedno rozwiązanie optymalne. Wprowadzenie takiej komórki do bazy prowadzi wtedy do innego planu przewozów, ale o tej samej wartości funkcji celu.
Warto zwrócić uwagę, że istnienie wielu rozwiązań optymalnych nie jest błędem. Oznacza jedynie, że ten sam minimalny koszt transportu można osiągnąć na kilka sposobów.
Przykład zadania transportowego krok po kroku
Rozważmy zadanie transportowe z trzema dostawcami i trzema odbiorcami. W tabeli podano jednostkowe koszty przewozu \(c_{ij}\), podaż dostawców oraz popyt odbiorców.
Dane zadania
Koszty \(c_{ij}\)
O1
O2
O3
Podaż
D1
1
4
1
40
D2
12
11
4
50
D3
1
1
11
30
Popyt
40
30
50
Suma podaży wynosi \(40+50+30=120\), a suma popytu \(40+30+50=120\). Zadanie jest więc zbilansowane.
Rozwiązanie początkowe metodą kąta północno-zachodniego
Zaczynamy od komórki \(D_1O_1\), czyli od lewego górnego rogu tabeli. Możemy tam wpisać:
\[
x_{11}=\min(40,40)=40.
\]
W tym momencie jednocześnie wyczerpuje się podaż dostawcy \(D_1\) i zostaje zaspokojony popyt odbiorcy \(O_1\). Gdybyśmy mechanicznie przeszli po przekątnej do komórki \(D_2O_2\), otrzymalibyśmy za mało komórek bazowych. Dlatego wprowadzamy komórkę bazową z przewozem równym zero, na przykład \(x_{12}=0\).
Rozwiązanie początkowe — metoda kąta północno-zachodniego
Przewozy \(x_{ij}\)
O1
O2
O3
Podaż
D1
40
0zero bazowe
—
40
D2
—
30
20
50
D3
—
—
30
30
Popyt
40
30
50
Liczba komórek bazowych powinna wynosić:
\[
m+n-1=3+3-1=5.
\]
Komórkami bazowymi są: \(D_1O_1\), \(D_1O_2\), \(D_2O_2\), \(D_2O_3\), \(D_3O_3\).
Otrzymaliśmy rozwiązanie dopuszczalne, ale niekoniecznie optymalne. Metoda kąta północno-zachodniego nie bierze bowiem pod uwagę kosztów przewozu. Sprawdzimy więc rozwiązanie metodą potencjałów.
Pierwsze badanie optymalności metodą potencjałów
Dla komórek bazowych wyznaczamy potencjały z zależności:
\[
u_i+v_j=c_{ij}.
\]
Przyjmujemy \(u_1=0\). Otrzymujemy:
\[
u_1=0,\quad u_2=7,\quad u_3=14,
\]
\[
v_1=1,\quad v_2=4,\quad v_3=-3.
\]
Dla komórek niebazowych obliczamy wskaźniki optymalności:
\[
\Delta_{ij}=c_{ij}-u_i-v_j.
\]
Potencjały i wskaźniki optymalności — krok 1
O1
O2
O3
\(u_i\)
D1
40
0
4-3
0
D2
48
30
20
7
D3
-1415
-1718
30
14
\(v_j\)
1
4
-3
W komórkach niebazowych w lewym górnym rogu podano wskaźnik optymalności \(\Delta_{ij}\), a w prawym dolnym rogu wartość \(u_i+v_j\).
Najbardziej ujemny wskaźnik występuje w komórce \(D_3O_2\):
\[
\Delta_{32}=1-14-4=-17.
\]
Komórka \(D_3O_2\) wchodzi do bazy.
Komórka wchodząca otrzymuje znak plus, a kolejne narożniki cyklu oznaczamy naprzemiennie znakami minus i plus.
Cykl poprawy — krok 1
komórka wchodząca znak \(+\) znak \(-\) komórka opuszczająca bazę zero pozostające w bazie
Przed korektą
O1
O2
O3
Podaż
D1
40
0
—
40
D2
—
30−
20+
50
D3
—
+
30−
30
Popyt
40
30
50
W komórkach oznaczonych znakiem minus mamy przewozy:
\[
x_{22}=30,\qquad x_{33}=30.
\]
Zatem:
\[
\theta=\min(30,30)=30.
\]
Pojawia się remis. Obie komórki minusowe mają taki sam minimalny przewóz. Jedną z nich usuwamy z bazy, a drugą pozostawiamy jako zero bazowe. Przyjmijmy, że z bazy wychodzi \(D_2O_2\), natomiast \(D_3O_3\) pozostaje jako zero bazowe.
Po wykonaniu przesunięcia dodajemy \(\theta=30\) w komórkach oznaczonych plusem i odejmujemy \(\theta=30\) w komórkach oznaczonych minusem.
Tabela przewozów po pierwszej korekcie
Po korekcie
O1
O2
O3
Podaż
D1
40
0
—
40
D2
—
—
50
50
D3
—
30
0zero bazowe
30
Popyt
40
30
50
Nowy koszt rozwiązania:
\[
Z=40\cdot 1+0\cdot 4+50\cdot 4+30\cdot 1+0\cdot 11=270.
\]
Koszt spadł z \(780\) do \(270\).
Drugie badanie optymalności
Po pierwszej korekcie ponownie wyznaczamy potencjały. Dla aktualnej bazy otrzymujemy:
\[
u_1=0,\quad u_2=-10,\quad u_3=-3,
\]
\[
v_1=1,\quad v_2=4,\quad v_3=14.
\]
Potencjały i wskaźniki optymalności — krok 2
O1
O2
O3
\(u_i\)
D1
40
0
-1314
0
D2
21-9
17-6
50
-10
D3
3-2
30
0
-3
\(v_j\)
1
4
14
W komórce \(D_1O_3\) występuje ujemny wskaźnik optymalności:
\[
\Delta_{13}=1-0-14=-13.
\]
Komórka \(D_1O_3\) powinna wejść do bazy.
W komórkach oznaczonych minusem znajdują się wartości:
\[
x_{12}=0,\qquad x_{33}=0.
\]
Dlatego:
\[
\theta=\min(0,0)=0.
\]
Jest to tzw. korekta zdegenerowana. Nie zmienia ona rzeczywistych przewozów ani wartości funkcji celu, ale zmienia strukturę bazy.
Przyjmijmy, że z bazy wychodzi komórka \(D_3O_3\), a \(D_1O_2\) pozostaje jako zero bazowe.
Po tej operacji wartości przewozów pozostają takie same, ale do bazy wchodzi komórka \(D_1O_3\), natomiast komórka \(D_3O_3\) przestaje być bazowa.
Tabela przewozów po drugiej korekcie
Po korekcie
O1
O2
O3
Podaż
D1
40
0zero bazowe
0zero bazowe
40
D2
—
—
50
50
D3
—
30
—
30
Popyt
40
30
50
Koszt rozwiązania nie zmienia się:
\[
Z=40\cdot 1+50\cdot 4+30\cdot 1=270.
\]
Końcowe badanie optymalności
Dla nowej bazy ponownie wyznaczamy potencjały. Przyjmując \(u_1=0\), otrzymujemy:
\[
u_1=0,\quad u_2=3,\quad u_3=-3,
\]
\[
v_1=1,\quad v_2=4,\quad v_3=1.
\]
Potencjały i wskaźniki optymalności — rozwiązanie końcowe
O1
O2
O3
\(u_i\)
D1
40
0
0
0
D2
84
47
50
3
D3
3-2
30
13-2
-3
\(v_j\)
1
4
1
Wszystkie wskaźniki optymalności są nieujemne:
\[
\Delta_{21}=8,\quad \Delta_{22}=4,\quad \Delta_{31}=3,\quad \Delta_{33}=13.
\]
Rozwiązanie jest więc optymalne.
Ostateczny plan przewozów jest następujący:
Rozwiązanie optymalne
\(x_{ij}\)
O1
O2
O3
Podaż
D1
40
0
0
40
D2
—
—
50
50
D3
—
30
—
30
Popyt
40
30
50
Minimalny koszt transportu wynosi:
\[
Z_{\min}=40\cdot 1+50\cdot 4+30\cdot 1=270.
\]
Porównanie z metodą minimalnego elementu macierzy
To samo zadanie można rozpocząć metodą minimalnego elementu macierzy. Metoda ta uwzględnia koszty już na etapie budowania rozwiązania początkowego, dlatego w tym przykładzie daje znacznie lepszy punkt startowy.
Najtańsze trasy mają koszt równy \(1\). Możemy więc najpierw przydzielić przewozy na trasach \(D_1O_1\) oraz \(D_3O_2\), a następnie pozostały popyt odbiorcy \(O_3\) zaspokoić dostawą od \(D_2\).
Rozwiązanie początkowe metodą minimalnego elementu macierzy
Przewozy \(x_{ij}\)
O1
O2
O3
Podaż
D1
40
0zero bazowe
0zero bazowe
40
D2
—
—
50
50
D3
—
30
—
30
Popyt
40
30
50
Koszt rozwiązania otrzymanego metodą minimalnego elementu macierzy:
\[
Z=40\cdot 1+50\cdot 4+30\cdot 1=270.
\]
W tym przykładzie metoda minimalnego elementu macierzy od razu prowadzi do rozwiązania optymalnego. Nie oznacza to, że dzieje się tak zawsze. Pokazuje jednak ważną różnicę między metodami znajdowania rozwiązania początkowego. Metoda kąta północno-zachodniego jest bardzo prosta, ale całkowicie ignoruje koszty transportu. Metoda minimalnego elementu macierzy uwzględnia koszty i dlatego często pozwala rozpocząć obliczenia od znacznie lepszego rozwiązania.
Dlatego w praktyce metoda minimalnego elementu macierzy, a jeszcze częściej metoda VAM, może znacząco skrócić dalsze poprawianie rozwiązania metodą potencjałów.
Najczęstsze błędy przy rozwiązywaniu zadań transportowych
Podczas rozwiązywania zadań transportowych często pojawiają się błędy rachunkowe i metodyczne. Do najczęstszych należą:
niezauważenie alternatywnego rozwiązania optymalnego.
Najbardziej niebezpieczne są zwykle błędy związane z degeneracją. Jeżeli baza ma za mało komórek, metoda potencjałów może się „rozpaść” — nie uda się wyznaczyć wszystkich potencjałów albo cykl poprawy rozwiązania nie będzie możliwy do prawidłowego zbudowania.
Podsumowanie
Zagadnienie transportowe jest szczególnym przypadkiem zadania programowania liniowego. Można je rozwiązać ogólną metodą simpleks, ale ze względu na specyficzną strukturę problemu znacznie wygodniej stosować algorytm transportowy.
W klasycznym zadaniu transportowym mamy dostawców, odbiorców, podaż, popyt oraz jednostkowe koszty przewozu. Celem jest znalezienie takiego planu transportu, który spełnia ograniczenia podaży i popytu oraz minimalizuje całkowity koszt.
Przed zastosowaniem algorytmu transportowego zadanie powinno zostać zbilansowane. Jeżeli łączna podaż nie jest równa łącznemu popytowi, dodaje się fikcyjnego dostawcę albo fikcyjnego odbiorcę.
Rozwiązanie jest optymalne, gdy wszystkie wskaźniki optymalności dla komórek niebazowych są nieujemne. Jeżeli pojawia się wskaźnik ujemny, można zbudować cykl poprawy rozwiązania i obniżyć całkowity koszt transportu.
Metoda transportowa jest dobrym przykładem tego, że w matematyce stosowanej i badaniach operacyjnych sama znajomość ogólnych algorytmów nie zawsze wystarcza. W wielu sytuacjach warto korzystać z metod wyspecjalizowanych, które wykorzystują strukturę konkretnego problemu i dzięki temu prowadzą do rozwiązania w sposób prostszy, bardziej przejrzysty i często szybszy obliczeniowo.
Sebastian Dziarmaga-Działyński
Utworzono: 20.05.2026 | Zmodyfikowano: 20.06.2026
Metoda simpleks — algorytm rozwiązywania zadań programowania liniowego
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Metoda simpleks jest jednym z najważniejszych algorytmów rozwiązywania zadań programowania liniowego. Jej idea jest prosta, ale zarazem niezwykle skuteczna: zamiast sprawdzać wszystkie punkty obszaru dopuszczalnego, metoda simpleks przechodzi od jednego wierzchołka tego obszaru do następnego, wybierając taki kierunek, który poprawia albo przynajmniej nie pogarsza wartości funkcji celu.
W artykule o metodzie graficznej programowania liniowego widzieliśmy, że optimum zadania liniowego znajduje się zwykle w jednym z wierzchołków obszaru dopuszczalnego. Metoda simpleks wykorzystuje dokładnie tę obserwację, ale robi to algebraicznie, bez konieczności rysowania obszaru dopuszczalnego. Dzięki temu działa również w zadaniach z większą liczbą zmiennych, których nie da się już przedstawić na płaszczyźnie.
Metoda ta została opracowana przez George’a Dantziga i do dziś należy do klasycznych narzędzi badań operacyjnych, optymalizacji oraz ekonomii matematycznej. Mimo że współczesne programy komputerowe korzystają z wielu zaawansowanych wariantów algorytmów optymalizacyjnych, zrozumienie metody simpleks pozostaje bardzo ważne, ponieważ pokazuje, co naprawdę dzieje się podczas rozwiązywania zadania programowania liniowego.
Metoda simpleks jest algorytmem iteracyjnym. Oznacza to, że nie otrzymujemy rozwiązania w jednym kroku, lecz przechodzimy przez kolejne tabele simpleksowe. Każda tabela opisuje pewne rozwiązanie bazowe, czyli algebraiczny odpowiednik jednego z wierzchołków obszaru dopuszczalnego.
Jeżeli aktualne rozwiązanie nie jest jeszcze optymalne, metoda wskazuje, która zmienna powinna wejść do bazy i która zmienna powinna z tej bazy wyjść. Po przekształceniu tabeli otrzymujemy nowe rozwiązanie bazowe. W zadaniu maksymalizacji powinno ono dawać wartość funkcji celu nie mniejszą niż poprzednie rozwiązanie, a w typowych sytuacjach — większą.
Właśnie w tym tkwi pewna genialność metody simpleks. Algorytm nie sprawdza wszystkich możliwych rozwiązań. Nie porusza się również przypadkowo. W sposób uporządkowany przechodzi od jednej bazy do drugiej, czyli od jednego wierzchołka obszaru dopuszczalnego do wierzchołka sąsiedniego, szukając poprawy wartości funkcji celu.
Metoda simpleks przechodzi od jednego rozwiązania bazowego do następnego, czyli geometrycznie od jednego wierzchołka obszaru dopuszczalnego do sąsiedniego wierzchołka.
Skąd pochodzi nazwa simpleks?
Samo słowo simpleks oznacza najprostszy wielowymiarowy odpowiednik odcinka, trójkąta i czworościanu. W wymiarze pierwszym simpleksem jest odcinek, w wymiarze drugim — trójkąt, w wymiarze trzecim — czworościan. W wymiarze \(n\) simpleks jest figurą wyznaczoną przez \(n+1\) odpowiednio niezależnych wierzchołków.
Nazwa metody simpleks nawiązuje więc do geometrii wielowymiarowej. Nie należy jednak rozumieć tej metody jako zwykłego rysowania trójkątów czy czworościanów. W praktyce metoda simpleks jest procedurą algebraiczną, która operuje na tabelach i bazach. Jej geometryczny sens polega na przemieszczaniu się po wierzchołkach wielościanu rozwiązań dopuszczalnych.
Przykłady sympleksów w przestrzeniach od 0 do 3 wymiarów.
Związek metody simpleks z metodą graficzną
Metoda graficzna i metoda simpleks opisują tę samą ideę z dwóch różnych stron. W metodzie graficznej widzimy obszar dopuszczalny na rysunku, zaznaczamy jego wierzchołki i przesuwamy prostą funkcji celu. W metodzie simpleks nie rysujemy już tego obszaru, ale wykonujemy operacje rachunkowe, które odpowiadają przechodzeniu między jego wierzchołkami.
Każda baza w metodzie simpleks odpowiada pewnemu rozwiązaniu bazowemu. Jeżeli rozwiązanie to jest dopuszczalne, możemy interpretować je geometrycznie jako wierzchołek obszaru dopuszczalnego. Zmiana bazy oznacza przejście do innego wierzchołka. W przypadku degeneracji może się zdarzyć, że baza się zmienia, ale geometrycznie pozostajemy w tym samym wierzchołku.
Dzięki temu metoda simpleks jest naturalnym uogólnieniem metody graficznej. W dwóch zmiennych możemy zobaczyć wszystko na rysunku. W większej liczbie zmiennych rysunek przestaje być możliwy, ale algebraiczna idea przechodzenia po wierzchołkach nadal działa.
Od postaci klasycznej do postaci standardowej
Metodę simpleks najwygodniej stosować wtedy, gdy zadanie jest zapisane w postaci równań, a wszystkie prawe strony są nieujemne. Tymczasem zadania programowania liniowego często zapisuje się początkowo w postaci nierówności. Przykładowo:
Aby przejść do postaci standardowej, zamieniamy nierówności na równania. W przypadku ograniczeń typu \(\le\) dodajemy zmienne dodatkowe, nazywane też zmiennymi bilansującymi:
Zmienne \(s_1\) i \(s_2\) oznaczają niewykorzystane zasoby, czyli zapasy w ograniczeniach. Jeżeli na przykład \(s_1=0\), pierwsze ograniczenie jest aktywne. Jeżeli \(s_1>0\), oznacza to, że w pierwszym ograniczeniu pozostał niewykorzystany zapas.
W funkcji celu zmienne dodatkowe mają współczynniki równe zero, ponieważ same w sobie nie wpływają na wartość optymalizowanego kryterium:
\[
Z = 4x_1+3x_2+0s_1+0s_2.
\]
Postać bazowa zadania programowania liniowego
Postać bazowa to taka postać układu równań, w której w każdym równaniu występuje zmienna ze współczynnikiem równym jeden, która nie występuje w pozostałych równaniach. Mówiąc inaczej: w macierzy współczynników możemy wskazać kolumny tworzące macierz jednostkową.
W naszym przykładzie po dodaniu zmiennych \(s_1\) i \(s_2\) otrzymujemy układ:
Zmienna \(s_1\) występuje z jedynką w pierwszym równaniu i nie występuje w drugim. Zmienna \(s_2\) występuje z jedynką w drugim równaniu i nie występuje w pierwszym. Dlatego \(s_1\) i \(s_2\) mogą utworzyć bazę początkową.
Jeżeli przyjmiemy zmienne niebazowe \(x_1=0\), \(x_2=0\), to otrzymujemy:
\[
s_1=10, \quad s_2=12.
\]
Ponieważ prawe strony są nieujemne, otrzymane rozwiązanie bazowe jest dopuszczalne. To ważne: klasyczna tabela simpleksowa startuje od rozwiązania bazowego dopuszczalnego. Jeżeli prawa strona któregoś równania byłaby ujemna, należałoby najpierw uporządkować zadanie, na przykład mnożąc odpowiednie równanie przez \(-1\) albo stosując procedurę ze zmiennymi sztucznymi.
Zmienne dodatkowe, nadwyżkowe i sztuczne
Przy sprowadzaniu zadania do postaci odpowiedniej dla metody simpleks trzeba rozróżniać kilka rodzajów zmiennych technicznych.
Rodzaj zmiennej
Kiedy się pojawia?
Rola w zadaniu
zmienna dodatkowa / bilansująca
przy ograniczeniu typu \(\le\)
dodajemy ją do lewej strony, aby zamienić nierówność na równanie
zmienna nadwyżkowa
przy ograniczeniu typu \(\ge\)
odejmujemy ją od lewej strony, aby zamienić nierówność na równanie
zmienna sztuczna
gdy nie mamy oczywistej bazy początkowej
wprowadzamy ją technicznie, aby rozpocząć obliczenia simpleksowe
Zmienne sztuczne nie są elementem rzeczywistego modelu. Są narzędziem rachunkowym, które pomaga uzyskać bazę początkową. W dalszej części obliczeń powinny zostać usunięte z rozwiązania. Jeżeli po zakończeniu procedury pomocniczej jakaś zmienna sztuczna ma dodatnią wartość, oznacza to, że pierwotne zadanie nie ma rozwiązania dopuszczalnego.
Warto również odróżnić te pojęcia od zmiennej nieograniczonej co do znaku, czyli zmiennej bez narzuconego warunku nieujemności. Taka zmienna może przyjmować wartości dodatnie, ujemne i zero. Nie jest ona tym samym co zmienna bilansująca ani sztuczna.
Tabela simpleksowa
Tabela simpleksowa porządkuje wszystkie informacje potrzebne do wykonania kolejnych kroków algorytmu. W najczęściej spotykanej konwencji zawiera między innymi kolumnę kosztów bazowych \(C_B\), kolumnę zmiennych bazowych, współczynniki przy zmiennych, prawą stronę \(b_i\), wiersz \(z_j\), wiersz wskaźników optymalności \(\Delta_j\) oraz kolumnę ilorazów wyjścia.
W tym artykule przyjmujemy konwencję:
\[
\Delta_j = c_j-z_j. \]
W niektórych podręcznikach można spotkać odwrotny zapis \(z_j-c_j\). Nie oznacza to, że metoda jest inna. Zmieniają się tylko znaki w kryterium optymalności. Ważne jest, aby w całym rozwiązaniu konsekwentnie trzymać się jednej konwencji.
W tabeli zaznaczono kolumnę główną, wiersz główny oraz element główny. Kolumna główna wskazuje zmienną wchodzącą do bazy. Wiersz główny wskazuje zmienną wychodzącą z bazy. Element główny znajduje się na przecięciu kolumny głównej i wiersza głównego.
Kryterium optymalności
Przy konwencji \(\Delta_j=c_j-z_j\) kryterium optymalności zależy od tego, czy rozwiązujemy zadanie maksymalizacji, czy minimalizacji. Metoda simpleks nie jest ograniczona tylko do jednego z tych przypadków. To, czy rozwiązujemy maksimum, czy minimum, wpływa na sposób interpretacji wskaźników optymalności.
Rodzaj zadania
Kryterium optymalności przy \(\Delta_j=c_j-z_j\)
Zmienna wchodząca do bazy
maksymalizacja
wszystkie \(\Delta_j \le 0\)
największa dodatnia \(\Delta_j\)
minimalizacja
wszystkie \(\Delta_j \ge 0\)
najbardziej ujemna \(\Delta_j\)
W części opracowań metoda simpleks jest przedstawiana wyłącznie dla zadań maksymalizacji albo wyłącznie dla zadań minimalizacji. Nie oznacza to jednak, że sama metoda działa tylko w jednym z tych przypadków. Różnica polega na przyjętej konwencji zapisu oraz na odpowiednim kryterium wyboru zmiennej wchodzącej do bazy.
Zmienna wchodząca i zmienna wychodząca z bazy
W zadaniu maksymalizacji, przy konwencji \(\Delta_j=c_j-z_j\), do bazy wchodzi zwykle zmienna o największej dodatniej wartości \(\Delta_j\). Taka zmienna daje największą jednostkową poprawę funkcji celu spośród aktualnie rozważanych możliwości.
Po wybraniu kolumny głównej trzeba zdecydować, która zmienna opuści bazę. W tym celu liczymy ilorazy wyjścia:
\[
\frac{b_i}{a_{ij}},
\]
ale tylko dla dodatnich elementów kolumny głównej. Jeżeli element w kolumnie głównej jest zerowy albo ujemny, w danym wierszu wpisujemy kreskę i nie bierzemy tego wiersza pod uwagę przy wyborze zmiennej wychodzącej.
Wybieramy najmniejszy dodatni iloraz wyjścia. Dzięki temu po wykonaniu przekształcenia simpleksowego nie otrzymamy ujemnej wartości po prawej stronie. Innymi słowy: kryterium wyjścia chroni dopuszczalność rozwiązania bazowego.
Jeżeli wybraliśmy kolumnę główną, ale w tej kolumnie nie ma żadnego dodatniego elementu, nie da się wyznaczyć ilorazu wyjścia. Oznacza to, że funkcję celu można poprawiać bez ograniczenia, a zadanie nie ma skończonego rozwiązania optymalnego.
Początkową bazę tworzą zmienne \(s_1\) i \(s_2\). Otrzymujemy pierwszą tabelę simpleksową:
\(c_j\)
4
3
0
0
\(C_B\)
Baza
\(x_1\)
\(x_2\)
\(s_1\)
\(s_2\)
\(b_i\)
Iloraz wyjścia \(\frac{b_i}{a_{ij}}\)
0
\(s_1\)
2
1
1
0
10
5
0
\(s_2\)
1
2
0
1
12
12
\(z_j\)
0
0
0
0
0
\(\Delta_j=c_j-z_j\)
4
3
0
0
Największa dodatnia wartość \(\Delta_j\) znajduje się w kolumnie \(x_1\), dlatego \(x_1\) wchodzi do bazy. Ilorazy wyjścia wynoszą \(10/2=5\) oraz \(12/1=12\). Najmniejszy dodatni iloraz to 5, więc z bazy wychodzi \(s_1\). Elementem głównym jest liczba 2.
Po przekształceniu tabeli otrzymujemy:
\(c_j\)
4
3
0
0
\(C_B\)
Baza
\(x_1\)
\(x_2\)
\(s_1\)
\(s_2\)
\(b_i\)
Iloraz wyjścia \(\frac{b_i}{a_{ij}}\)
4
\(x_1\)
1
\(\frac{1}{2}\)
\(\frac{1}{2}\)
0
5
10
0
\(s_2\)
0
\(\frac{3}{2}\)
\(-\frac{1}{2}\)
1
7
\(\frac{14}{3}\)
\(z_j\)
4
2
2
0
20
\(\Delta_j=c_j-z_j\)
0
1
-2
0
W wierszu \(\Delta_j\) nadal występuje dodatnia wartość: \(\Delta_2=1\). Do bazy wchodzi więc \(x_2\). Ilorazy wyjścia liczymy tylko dla dodatnich elementów kolumny \(x_2\). Otrzymujemy \(5/(1/2)=10\) oraz \(7/(3/2)=14/3\). Z bazy wychodzi \(s_2\).
Po drugim przekształceniu otrzymujemy tabelę końcową:
\(c_j\)
4
3
0
0
\(C_B\)
Baza
\(x_1\)
\(x_2\)
\(s_1\)
\(s_2\)
\(b_i\)
4
\(x_1\)
1
0
\(\frac{2}{3}\)
\(-\frac{1}{3}\)
\(\frac{8}{3}\)
3
\(x_2\)
0
1
\(-\frac{1}{3}\)
\(\frac{2}{3}\)
\(\frac{14}{3}\)
\(z_j\)
4
3
\(\frac{5}{3}\)
\(\frac{2}{3}\)
\(\frac{74}{3}\)
\(\Delta_j=c_j-z_j\)
0
0
\(-\frac{5}{3}\)
\(-\frac{2}{3}\)
Wszystkie wartości \(\Delta_j\) są niedodatnie, więc dla zadania maksymalizacji rozwiązanie jest optymalne. Odczytujemy:
Zmienne sztuczne pojawiają się wtedy, gdy po sprowadzeniu ograniczeń do równań nie mamy oczywistej bazy początkowej. Rozważmy na przykład ograniczenie typu \(\ge\):
\[
x_1+x_2 \ge 4. \]
Aby zamienić je na równanie, odejmujemy zmienną nadwyżkową \(s_1\):
\[
x_1+x_2-s_1=4.
\]
Kolumna zmiennej \(s_1\) ma jednak współczynnik \(-1\), więc nie daje nam naturalnej kolumny bazowej. Dlatego wprowadzamy zmienną sztuczną \(a_1\):
\[
x_1+x_2-s_1+a_1=4.
\]
Zmienna \(a_1\) służy tylko do rozpoczęcia obliczeń. W metodzie wielkiej kary otrzymuje bardzo niekorzystny współczynnik w funkcji celu, a w metodzie dwóch faz najpierw minimalizujemy sumę zmiennych sztucznych. W obu podejściach chodzi o to samo: zmienne sztuczne powinny zostać usunięte z rozwiązania, jeżeli zadanie pierwotne jest dopuszczalne.
Metoda „wielkiej kary”
Jednym ze sposobów radzenia sobie ze zmiennymi sztucznymi jest metoda nazywana często metodą wielkiej kary. Nazwa jest dość obrazowa: zmiennej sztucznej nadajemy w funkcji celu bardzo niekorzystny współczynnik, czyli nakładamy na nią dużą „karę”. Dzięki temu algorytm simpleks będzie dążył do usunięcia tej zmiennej z bazy, o ile tylko jest to możliwe.
Załóżmy, że rozwiązujemy zadanie maksymalizacji. Jeżeli do ograniczenia musimy wprowadzić zmienną sztuczną \(a_1\), to w funkcji celu wpisujemy ją z bardzo dużym ujemnym współczynnikiem:
\[
Z = 4x_1+3x_2 - M a_1. \]
gdzie \(M\) oznacza bardzo dużą dodatnią liczbę. W zadaniu maksymalizacji obecność zmiennej \(a_1\) obniża wartość funkcji celu, dlatego algorytm będzie próbował doprowadzić do sytuacji, w której \(a_1=0\). Gdybyśmy rozwiązywali zadanie minimalizacji, znak kary byłby przeciwny: zmienna sztuczna otrzymałaby bardzo duży dodatni współczynnik, aby jej obecność silnie zwiększała wartość minimalizowanej funkcji celu.
Ogólna zasada jest więc następująca: zmiennym sztucznym nadajemy bardzo duże wagi działające przeciwnie do kierunku optymalizacji. W maksymalizacji są to bardzo duże współczynniki ujemne, a w minimalizacji — bardzo duże współczynniki dodatnie. Zmienna sztuczna ma być dla algorytmu „nieopłacalna”, ponieważ nie opisuje rzeczywistej decyzji ani rzeczywistego zasobu. Jest jedynie technicznym narzędziem pozwalającym rozpocząć obliczenia od postaci bazowej.
Rozważmy przykładowe ograniczenie:
\[
x_1+x_2 \ge 4. \]
Po przejściu do równania odejmujemy zmienną nadwyżkową \(s_1\):
\[
x_1+x_2-s_1=4.
\]
Nie mamy jednak jeszcze wygodnej zmiennej bazowej, ponieważ współczynnik przy \(s_1\) wynosi \(-1\). Wprowadzamy więc zmienną sztuczną \(a_1\):
\[
x_1+x_2-s_1+a_1=4.
\]
Zmienna \(a_1\) może utworzyć bazę początkową, ponieważ występuje w tym równaniu ze współczynnikiem 1. Jej obecność nie oznacza jednak, że należy do rzeczywistego modelu. Jest to tylko „rusztowanie” rachunkowe, które chcemy usunąć w toku działania algorytmu.
Jeżeli zadanie pierwotne ma rozwiązanie dopuszczalne, algorytm simpleks powinien doprowadzić do wyzerowania zmiennej sztucznej. Jeżeli natomiast po zakończeniu obliczeń zmienna sztuczna nadal ma dodatnią wartość, oznacza to, że bez niej nie da się spełnić pierwotnych ograniczeń. W takim przypadku zadanie jest niedopuszczalne.
Trzeba przy tym pamiętać o ważnym niuansie: sama obecność zmiennej sztucznej w bazie nie przesądza jeszcze o sprzeczności zadania. Jeżeli zmienna sztuczna pozostała w bazie, ale ma wartość równą zero, rozwiązanie jest zdegenerowane, ale może być dopuszczalne. O niedopuszczalności mówimy dopiero wtedy, gdy zmienna sztuczna ma dodatnią wartość.
Metoda dwufazowa
Alternatywą dla metody wielkiej kary jest metoda dwufazowa. Jej idea jest podobna, ale zamiast wprowadzać bardzo dużą stałą \(M\), rozdzielamy obliczenia na dwa etapy.
W pierwszej fazie tworzymy pomocniczą funkcję celu, której zadaniem jest usunięcie zmiennych sztucznych z rozwiązania. Najczęściej minimalizujemy sumę zmiennych sztucznych:
\[
\min \quad a_1+a_2+\ldots+a_k.
\]
Jeżeli minimum tej funkcji pomocniczej jest większe od zera, oznacza to, że przynajmniej jedna zmienna sztuczna musi pozostać dodatnia. Wtedy zadanie pierwotne jest niedopuszczalne. Jeżeli minimum wynosi zero, przechodzimy do drugiej fazy, w której rozwiązujemy już właściwe zadanie z pierwotną funkcją celu.
Metoda dwufazowa bywa rachunkowo bardziej przejrzysta, ponieważ nie wymaga operowania symbolem \(M\) ani bardzo dużymi liczbami. Metoda wielkiej kary jest natomiast wygodna dydaktycznie, bo od razu pokazuje, że zmienne sztuczne są w modelu czymś niepożądanym i algorytm powinien się ich pozbyć, o ile tylko pozwalają na to ograniczenia.
Degeneracja, zmienne sztuczne i dopuszczalność
Bardzo ważny niuans dotyczy sytuacji, w której zmienna sztuczna pozostaje w bazie. Sama obecność zmiennej sztucznej w bazie nie oznacza jeszcze, że zadanie jest sprzeczne. Trzeba sprawdzić jej wartość po prawej stronie tabeli.
Sytuacja po procedurze pomocniczej
Wniosek
wszystkie zmienne sztuczne są poza bazą
rozwiązanie dopuszczalne
zmienna sztuczna jest w bazie, ale ma wartość 0
rozwiązanie dopuszczalne, ale zdegenerowane
zmienna sztuczna jest w bazie i ma wartość dodatnią
zadanie niedopuszczalne, czyli układ ograniczeń jest sprzeczny
Jeżeli zmienna sztuczna jest bazowa, ale jej wartość wynosi zero, mamy do czynienia z rozwiązaniem zdegenerowanym. Taka sytuacja nie przekreśla dopuszczalności zadania. Oznacza tylko, że baza zawiera zmienną o wartości zerowej. Geometrycznie algorytm może wtedy zmienić bazę, ale pozostać w tym samym wierzchołku obszaru dopuszczalnego.
Niedopuszczalność zadania stwierdzamy dopiero wtedy, gdy po zakończeniu etapu pomocniczego zmienna sztuczna ma wartość dodatnią. Wtedy nie da się spełnić pierwotnych ograniczeń bez korzystania ze zmiennej, która została wprowadzona wyłącznie sztucznie.
Przykład 3. Zadanie niedopuszczalne
Zadanie niedopuszczalne to takie zadanie, w którym układ ograniczeń jest sprzeczny. Nie istnieje żaden punkt spełniający wszystkie warunki jednocześnie. Przykładowo warunki:
\[
x_1+x_2 \le 2, \]
\[
x_1+x_2 \ge 5, \]
nie mogą być jednocześnie spełnione. Geometrycznie obszar dopuszczalny jest pusty. W procedurze simpleksowej ze zmiennymi sztucznymi objawi się to tym, że po zakończeniu fazy pomocniczej co najmniej jedna zmienna sztuczna pozostanie z dodatnią wartością.
Zobaczmy, jak taka sytuacja wygląda rachunkowo. Dla ograniczeń:
\[
x_1+x_2 \le 2, \]
\[
x_1+x_2 \ge 5 \]
po przejściu do równań otrzymujemy:
\[
x_1+x_2+s_1=2,
\]
\[
x_1+x_2-s_2+a_1=5.
\]
Pierwsze równanie ma naturalną zmienną bazową \(s_1\). W drugim równaniu po odjęciu zmiennej nadwyżkowej \(s_2\) musimy wprowadzić zmienną sztuczną \(a_1\), aby uzyskać bazę początkową.
W fazie pomocniczej próbujemy sprowadzić zmienną sztuczną do zera. W tym przykładzie nie jest to możliwe. Największa wartość sumy \(x_1+x_2\), jaka wynika z pierwszego ograniczenia, to 2, natomiast drugie ograniczenie wymaga, aby ta suma była co najmniej równa 5. Brakuje więc 3 jednostek. Tę sprzeczność widać w końcowej tabeli fazy pomocniczej:
\(c_j\)
0
0
0
0
1
\(C_B\)
Baza
\(x_1\)
\(x_2\)
\(s_1\)
\(s_2\)
\(a_1\)
\(b_i\)
0
\(s_1\)
1
1
1
0
0
2
1
\(a_1\)
0
0
1
-1
1
3
wartość funkcji pomocniczej
\(a_1\)
3
W tabeli końcowej zmienna sztuczna \(a_1\) nadal jest zmienną bazową i ma wartość dodatnią: \(a_1=3\). Oznacza to, że nawet po najlepszym możliwym dobraniu zmiennych decyzyjnych nie da się spełnić pierwotnych ograniczeń bez korzystania ze zmiennej sztucznej. Zadanie jest więc niedopuszczalne.
Przykład 4. Zadanie bez skończonego optimum
Inna szczególna sytuacja występuje wtedy, gdy zadanie jest dopuszczalne, ale funkcję celu można poprawiać bez ograniczenia. Mówimy wtedy, że zadanie nie ma skończonego rozwiązania optymalnego.
W tabeli simpleksowej rozpoznajemy to następująco: istnieje zmienna, która powinna wejść do bazy, ponieważ jej wskaźnik optymalności wskazuje możliwość poprawy funkcji celu, ale w jej kolumnie nie ma żadnego dodatniego elementu. Nie da się więc obliczyć żadnego dodatniego ilorazu wyjścia.
\(c_j\)
3
2
0
\(C_B\)
Baza
\(x_1\)
\(x_2\)
\(s_1\)
\(b_i\)
Iloraz wyjścia \(\frac{b_i}{a_{ij}}\)
0
\(s_1\)
-1
1
1
4
—
\(z_j\)
0
0
0
0
\(\Delta_j=c_j-z_j\)
3
2
0
W kolumnie \(x_1\) mamy dodatnią wartość \(\Delta_j\), więc dla zadania maksymalizacji zmienna \(x_1\) mogłaby poprawić funkcję celu. W tej kolumnie nie ma jednak żadnego dodatniego współczynnika w wierszach ograniczeń. Nie można więc wyznaczyć zmiennej wychodzącej z bazy. Jest to sygnał, że zadanie nie ma skończonego optimum.
Co dalej? Analiza postoptymalizacyjna
Ostatnia tabela simpleksowa zawiera więcej informacji niż tylko wartości zmiennych decyzyjnych i wartość funkcji celu. Można z niej odczytać także informacje przydatne w analizie postoptymalizacyjnej, na przykład wrażliwość rozwiązania na zmiany współczynników funkcji celu lub prawych stron ograniczeń.
W praktycznych zastosowaniach jest to bardzo ważne. Często nie wystarczy wiedzieć, jakie rozwiązanie jest optymalne dla jednego zestawu danych. Chcemy również wiedzieć, co stanie się, gdy zmieni się dostępność zasobów, cena produktu albo koszt jednostkowy. Tego typu zagadnienia omówimy jednak osobno w artykule poświęconym analizie postoptymalizacyjnej.
Podsumowanie
Metoda simpleks jest algebraicznym sposobem przechodzenia po wierzchołkach obszaru dopuszczalnego. Każda baza odpowiada pewnemu rozwiązaniu bazowemu, a każda iteracja polega na wyborze zmiennej wchodzącej do bazy, wyborze zmiennej wychodzącej z bazy oraz przekształceniu tabeli simpleksowej.
W klasycznej konwencji stosowanej w tym artykule obliczamy wiersz \(z_j\), a następnie wskaźniki optymalności \(\Delta_j=c_j-z_j\). Dla zadania maksymalizacji rozwiązanie jest optymalne, gdy wszystkie wskaźniki \(\Delta_j\) są niedodatnie. Jeżeli istnieje dodatni wskaźnik, można poprawić wartość funkcji celu.
Wybór zmiennej wychodzącej z bazy odbywa się na podstawie najmniejszego dodatniego ilorazu wyjścia. Dzięki temu zachowujemy nieujemność prawych stron, czyli dopuszczalność kolejnego rozwiązania bazowego.
Warto pamiętać także o sytuacjach szczególnych. Jeżeli po fazie pomocniczej zmienna sztuczna ma dodatnią wartość, zadanie jest niedopuszczalne. Jeżeli natomiast zmienna sztuczna pozostaje w bazie z wartością zero, mamy rozwiązanie zdegenerowane, ale nadal dopuszczalne. Jeżeli zaś istnieje zmienna poprawiająca funkcję celu, lecz nie można wyznaczyć ilorazu wyjścia, zadanie nie ma skończonego optimum.
Sebastian Dziarmaga-Działyński
Utworzono: 19.05.2026 | Zmodyfikowano: 20.06.2026
Dualność w programowaniu liniowym — zadanie prymalne, zadanie dualne i warunki komplementarności
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Wprowadzenie
Dualność w programowaniu liniowym jest jedną z najważniejszych idei w całej teorii optymalizacji liniowej. Każdemu zadaniu programowania liniowego można przyporządkować drugie zadanie, nazywane zadaniem dualnym. Co więcej, jeżeli do zadania dualnego ponownie utworzymy zadanie dualne, to wrócimy do zadania wyjściowego, czyli prymalnego. Oznacza to, że nie mamy tu do czynienia z jednostronną sztuczką rachunkową, lecz z parą ściśle powiązanych ze sobą problemów.
W tym artykule wyjaśnimy, jak tworzyć zadanie dualne, jak odczytywać zależność między zmiennymi i ograniczeniami, czym są ograniczenia typowe i nietypowe, a także jak wykorzystać warunki komplementarności do wyznaczania rozwiązania zadania prymalnego na podstawie rozwiązania zadania dualnego. Na końcu zobaczymy przykład, w którym zadanie z większą liczbą zmiennych można przeanalizować dzięki zadaniu dualnemu mającemu tylko dwie zmienne, a więc nadającemu się do rozwiązania metodą graficzną.
W klasycznym zadaniu programowania liniowego szukamy takiego rozwiązania, które spełnia wszystkie ograniczenia i jednocześnie daje najlepszą wartość funkcji celu. Jeżeli funkcję celu maksymalizujemy, szukamy największej możliwej wartości. Jeżeli ją minimalizujemy, szukamy wartości najmniejszej.
Zadanie, od którego wychodzimy, nazywamy zadaniem prymalnym, czyli pierwotnym. Do niego można utworzyć zadanie dualne. Oba zadania są ze sobą powiązane w bardzo konkretny sposób. Zmienne jednego zadania odpowiadają ograniczeniom drugiego, a ograniczenia jednego zadania odpowiadają zmiennym drugiego.
Można to ująć obrazowo tak: zadanie prymalne i dualne patrzą na ten sam problem z dwóch stron. W zadaniu prymalnym pytamy na przykład: ile produkować, przewozić, kupować albo alokować? W zadaniu dualnym pytamy raczej: jaką wartość mają ograniczone zasoby, które występują w zadaniu? Dlatego zmienne dualne często interpretuje się jako pewnego rodzaju ceny zasobów albo ceny cienia.
Istotne jest również to, że zadanie dualne do zadania dualnego jest znowu zadaniem prymalnym. Mówiąc mniej formalnie: jeżeli wykonamy przejście „na drugą stronę”, a potem jeszcze raz wykonamy takie samo przejście, wracamy do punktu wyjścia. Nie będziemy tutaj rozwijać języka relacji matematycznych, ale warto zapamiętać tę intuicję, bo dobrze pokazuje ona symetrię ukrytą w dualności.
Zadanie prymalne i zadanie dualne
Zacznijmy od najwygodniejszego przypadku. Rozważmy zadanie maksymalizacji, w którym wszystkie ograniczenia mają znak „mniejsze lub równe”, a wszystkie zmienne są nieujemne:
\[
\begin{aligned}
\min \quad & W = b^T y \\
\text{przy warunkach} \quad & A^T y \ge c, \\
& y \ge 0.
\end{aligned}
\]
Już z tego zapisu widać podstawową zasadę dualności. Współczynniki funkcji celu zadania prymalnego, czyli liczby \(c_1,c_2,\ldots,c_n\), stają się prawymi stronami ograniczeń w zadaniu dualnym. Natomiast prawe strony ograniczeń zadania prymalnego, czyli liczby \(b_1,b_2,\ldots,b_m\), stają się współczynnikami funkcji celu w zadaniu dualnym.
Odpowiedniość pomiędzy poszczególnymi elementami zadania dualnego i prymalnego.
Odpowiedniość między elementami zadania prymalnego i dualnego
Najważniejsze zależności można zapamiętać w następujący sposób:
każdemu ograniczeniu zadania prymalnego odpowiada jedna zmienna dualna,
każdej zmiennej zadania prymalnego odpowiada jedno ograniczenie dualne,
współczynniki funkcji celu zadania prymalnego przechodzą na prawe strony ograniczeń dualnych,
prawe strony ograniczeń zadania prymalnego przechodzą do funkcji celu zadania dualnego,
macierz współczynników ograniczeń zostaje transponowana, czyli wiersze przechodzą w kolumny.
Jeżeli zadanie prymalne ma \(n\) zmiennych oraz \(m\) ograniczeń, to zadanie dualne ma \(m\) zmiennych oraz \(n\) ograniczeń. To bardzo ważna obserwacja praktyczna. Czasem zadanie prymalne ma wiele zmiennych, ale niewiele ograniczeń. Wtedy zadanie dualne może mieć mało zmiennych i dać się rozwiązać znacznie prościej.
W najprostszym przypadku, gdy zadanie prymalne jest maksymalizacją z ograniczeniami typu \(\le\), zadanie dualne jest minimalizacją z ograniczeniami typu \(\ge\). Ten przypadek jest najbardziej przejrzysty i od niego najlepiej zaczynać naukę dualności.
Ograniczenia typowe, nietypowe i równościowe
W praktycznych zadaniach ograniczenia nie zawsze mają tak wygodną postać. Mogą występować nierówności w przeciwną stronę, równania, a także zmienne, które nie muszą być nieujemne. Dlatego przy tworzeniu zadania dualnego trzeba pilnować nie tylko współczynników, ale także znaków.
Dla zadania maksymalizacji typowym ograniczeniem jest ograniczenie typu:
Wtedy odpowiadająca mu zmienna dualna jest niedodatnia:
\[
y_i \le 0. \]
Jeżeli natomiast w zadaniu prymalnym występuje ograniczenie równościowe:
\[
a_{i1}x_1+a_{i2}x_2+\ldots+a_{in}x_n = b_i, \]
to odpowiadająca mu zmienna dualna jest zmienną nez nałożonych jakichkolwiek warunków brzegowych:
\[
y_i \in \mathbb{R}.
\]
Zmienna taka może przyjmować wartości dodatnie, ujemne oraz zero. To częste źródło pomyłek, ponieważ w wielu prostych przykładach wszystkie zmienne są nieujemne i łatwo przyzwyczaić się do takiego schematu.
Tabela zasad dualności
Dla zadania prymalnego w postaci maksymalizacji najważniejsze reguły można zebrać w tabeli:
Element zadania prymalnego
Odpowiadający element zadania dualnego
ograniczenie typu \(\le\)
zmienna dualna \(y_i \ge 0\)
ograniczenie typu \(\ge\)
zmienna dualna \(y_i \le 0\)
ograniczenie typu \(=\)
zmienna dualna swobodna
zmienna \(x_j \ge 0\)
ograniczenie dualne typu \(\ge\)
zmienna \(x_j \le 0\)
ograniczenie dualne typu \(\le\)
zmienna bez nałożonych warunków brzegowych
ograniczenie dualne typu \(=\)
Dla zadania minimalizacji reguły są analogiczne, ale typowe znaki nierówności są odwrócone. W minimalizacji naturalne są ograniczenia typu \(\ge\), a zadanie dualne jest wtedy zadaniem maksymalizacji z ograniczeniami typu \(\le\).
Zadanie ma trzy ograniczenia, więc zadanie dualne będzie miało trzy zmienne: \(y_1,y_2,y_3\). Zadanie prymalne ma dwie zmienne, więc zadanie dualne będzie miało dwa ograniczenia.
Prawe strony ograniczeń zadania prymalnego, czyli \(100,80,90\), przechodzą do funkcji celu zadania dualnego. Współczynniki funkcji celu zadania prymalnego, czyli \(40\) i \(30\), przechodzą na prawe strony ograniczeń dualnych.
W pierwszym ograniczeniu dualnym pojawiły się współczynniki stojące przy \(x_1\) w zadaniu prymalnym: \(2,1,1\). W drugim ograniczeniu dualnym pojawiły się współczynniki stojące przy \(x_2\): \(1,1,3\). Jest to właśnie efekt transpozycji macierzy współczynników.
Pierwsze ograniczenie jest typowe dla maksymalizacji, dlatego zmienna dualna \(y_1\) będzie nieujemna. Drugie ograniczenie jest nietypowe, ponieważ ma znak \(\ge\), dlatego odpowiadająca mu zmienna dualna \(y_2\) będzie niedodatnia.
Ten przykład pokazuje, że nie wystarczy mechanicznie przepisać współczynników. Trzeba jeszcze pilnować znaków nierówności oraz warunków nakładanych na zmienne dualne.
Pierwszemu ograniczeniu odpowiada zmienna dualna \(y_1\), ale ponieważ ograniczenie jest równościowe, zmienna \(y_1\) będzie swobodna. Drugiemu ograniczeniu odpowiada zmienna \(y_2\), a ponieważ jest to ograniczenie typu \(\le\), mamy \(y_2 \ge 0\).
Ograniczenia równościowe są więc szczególnie ważne, ponieważ powodują pojawienie się zmiennych swobodnych. W zadaniach egzaminacyjnych i ćwiczeniowych jest to jedno z miejsc, w których najłatwiej o błąd.
Interpretacja ekonomiczna zmiennych dualnych
Zmienne dualne często interpretuje się jako ceny dualne, ceny cienia albo wartości krańcowe zasobów. Jeżeli ograniczenie w zadaniu prymalnym oznacza dostępność pewnego zasobu, na przykład czasu pracy, surowca, powierzchni magazynowej albo budżetu, to odpowiadająca mu zmienna dualna informuje, jaką wartość ma dodatkowa jednostka tego zasobu z punktu widzenia funkcji celu.
Jeżeli dana zmienna dualna jest dodatnia, oznacza to zwykle, że odpowiadające jej ograniczenie jest aktywne, czyli zasób jest w pełni wykorzystany. Jeżeli zmienna dualna jest równa zero, oznacza to, że niewielkie zwiększenie dostępności tego zasobu nie poprawiłoby wartości funkcji celu, przynajmniej w pewnym zakresie.
Ta interpretacja jest bardzo użyteczna. Pozwala nie tylko odpowiedzieć na pytanie, jakie rozwiązanie jest optymalne, ale również zrozumieć, które ograniczenia naprawdę wpływają na wynik, a które w danym rozwiązaniu nie są wiążące.
Twierdzenie o dualności
Najważniejszy związek między zadaniem prymalnym i dualnym opisuje twierdzenie o dualności. W uproszczeniu: jeżeli zadanie prymalne jest zadaniem maksymalizacji, a zadanie dualne jest odpowiadającym mu zadaniem minimalizacji, to dla każdego rozwiązania dopuszczalnego zadania prymalnego i każdego rozwiązania dopuszczalnego zadania dualnego zachodzi nierówność:
\[
Z \le W. \]
Oznacza to, że wartość funkcji celu w zadaniu prymalnym nie może przekroczyć wartości funkcji celu w zadaniu dualnym. Jeżeli uda się znaleźć takie rozwiązania dopuszczalne obu zadań, dla których:
\[
Z = W, \]
to oba rozwiązania są optymalne. Zadanie dualne daje więc ograniczenie z góry dla zadania maksymalizacji. Gdy to ograniczenie zostanie osiągnięte, wiemy, że lepszego rozwiązania już nie ma.
W wersji silnej twierdzenie o dualności mówi, że jeżeli jedno z pary zadań ma rozwiązanie optymalne, to drugie również ma rozwiązanie optymalne, a optymalne wartości funkcji celu są sobie równe.
Warunki komplementarności
Bardzo ważnym narzędziem praktycznym są warunki komplementarności. Pozwalają one powiązać rozwiązanie zadania prymalnego z rozwiązaniem zadania dualnego.
Ich sens jest następujący: jeżeli pewna zmienna dualna jest dodatnia, to odpowiadające jej ograniczenie w zadaniu prymalnym musi być spełnione jako równość. Natomiast jeżeli ograniczenie prymalne nie jest aktywne, czyli pozostaje w nim pewien zapas, to odpowiadająca mu zmienna dualna musi być równa zero.
Pierwszy warunek dotyczy ograniczeń zadania prymalnego. Wyrażenie:
\[
b_i-\sum_{j=1}^{n}a_{ij}x_j
\]
oznacza zapas w \(i\)-tym ograniczeniu. Jeżeli zapas jest dodatni, to zmienna dualna \(y_i\) musi być równa zero. Jeżeli natomiast \(y_i>0\), to zapas musi być równy zero, czyli ograniczenie jest aktywne.
Drugi warunek działa analogicznie po stronie ograniczeń dualnych. Jeżeli zmienna prymalna \(x_j\) jest dodatnia, to odpowiadające jej ograniczenie dualne musi być spełnione jako równość. Jeżeli ograniczenie dualne jest spełnione z nadwyżką, to odpowiadająca mu zmienna prymalna musi być równa zero.
Rozwiązanie zadania prymalnego przez zadanie dualne
Jednym z praktycznych zastosowań dualności jest sytuacja, w której zadanie prymalne ma wiele zmiennych, ale tylko dwa ograniczenia. Zadania z czterema, pięcioma czy większą liczbą zmiennych nie da się bezpośrednio rozwiązać metodą graficzną. Jeżeli jednak ma ono tylko dwa ograniczenia, to zadanie dualne będzie miało tylko dwie zmienne. A takie zadanie można już przedstawić na płaszczyźnie.
To zadanie dualne można rozwiązać metodą graficzną. Każde ograniczenie odpowiada jednej zmiennej prymalnej:
ograniczenie \(y_1+2y_2\ge 4\) odpowiada zmiennej \(x_1\),
ograniczenie \(y_1+y_2\ge 3\) odpowiada zmiennej \(x_2\),
ograniczenie \(2y_1+y_2\ge 5\) odpowiada zmiennej \(x_3\),
ograniczenie \(y_1+3y_2\ge 2\) odpowiada zmiennej \(x_4\).
Graficzne rozwiązanie zadania dualnego. Punkt \((2,1)\) wyznacza minimum funkcji celu \(W = 10y_1 + 12y_2\), a przez twierdzenie o dualności pozwala określić wartość optymalną zadania prymalnego.
Rozwiązaniem optymalnym zadania dualnego jest punkt:
\[
y_1=2, \quad y_2=1.
\]
Wartość funkcji celu zadania dualnego wynosi:
\[
W=10\cdot 2+12\cdot 1=32.
\]
Z twierdzenia o dualności wynika, że optymalna wartość funkcji celu zadania prymalnego również wynosi:
\[
Z=32.
\]
Sprawdźmy teraz warunki komplementarności. Dla \(y_1=2\), \(y_2=1\) ograniczenia dualne przyjmują wartości:
\[
y_1+2y_2=2+2\cdot 1=4,
\]
\[
y_1+y_2=2+1=3,
\]
\[
2y_1+y_2=2\cdot 2+1=5,
\]
\[
y_1+3y_2=2+3\cdot 1=5>2.
\]
Pierwsze trzy ograniczenia dualne są aktywne, natomiast czwarte jest spełnione z nadwyżką. Oznacza to, że zmienna odpowiadająca czwartemu ograniczeniu, czyli \(x_4\), musi być równa zero:
\[
x_4=0.
\]
Ponieważ \(y_1>0\) oraz \(y_2>0\), oba ograniczenia prymalne muszą być aktywne:
\[
x_1+x_2+2x_3+x_4=10,
\]
\[
2x_1+x_2+x_3+3x_4=12.
\]
Po podstawieniu \(x_4=0\) otrzymujemy:
\[
x_1+x_2+2x_3=10,
\]
\[
2x_1+x_2+x_3=12.
\]
Odejmując pierwsze równanie od drugiego, dostajemy:
\[
x_1-x_3=2,
\]
czyli:
\[
x_1=x_3+2.
\]
Podstawiamy to do pierwszego równania:
\[
(x_3+2)+x_2+2x_3=10,
\]
\[
x_2=8-3x_3.
\]
Z warunków nieujemności mamy:
\[
x_3\ge 0, \quad x_2=8-3x_3\ge 0. \]
Stąd:
\[
0\le x_3\le \frac{8}{3}.
\]
Rodzina rozwiązań optymalnych zadania prymalnego ma więc postać:
Dla każdego takiego rozwiązania wartość funkcji celu wynosi:
\[
Z=4(t+2)+3(8-3t)+5t=32.
\]
Widzimy więc, że rozwiązując graficznie zadanie dualne z dwiema zmiennymi, możemy uzyskać ważne informacje o zadaniu prymalnym z czterema zmiennymi. To jedna z praktycznych zalet dualności: czasem trudniejsze zadanie można zastąpić zadaniem prostszym geometrycznie.
Najczęstsze błędy przy tworzeniu zadania dualnego
Przy pierwszym kontakcie z dualnością najczęściej pojawiają się następujące błędy:
pominięcie transpozycji macierzy współczynników,
pomylenie współczynników funkcji celu z prawymi stronami ograniczeń,
nieuwzględnienie ograniczeń nietypowych,
zapomnienie, że ograniczenie równościowe daje zmienną swobodną,
zapomnienie, że zmienna swobodna daje ograniczenie równościowe,
mechaniczne rozwiązywanie zadania dualnego bez sprawdzenia warunków komplementarności.
Najbezpieczniej jest zawsze rozpisać sobie odpowiedniości: ograniczenia prymalne — zmienne dualne, zmienne prymalne — ograniczenia dualne. Dopiero potem warto przepisywać współczynniki.
Podsumowanie
Dualność w programowaniu liniowym polega na tym, że każdemu zadaniu liniowemu można przyporządkować drugie zadanie, ściśle z nim powiązane. Zadanie wyjściowe nazywamy prymalnym, a powiązane z nim zadanie — dualnym. Jeżeli do zadania dualnego utworzymy ponownie zadanie dualne, wracamy do zadania wyjściowego.
Najważniejsza odpowiedniość polega na tym, że ograniczeniom jednego zadania odpowiadają zmienne drugiego zadania, a zmiennym jednego zadania odpowiadają ograniczenia drugiego. Współczynniki funkcji celu przechodzą na prawe strony ograniczeń, prawe strony ograniczeń przechodzą do funkcji celu, a macierz współczynników zostaje transponowana.
Warunki komplementarności pozwalają powiązać rozwiązania obu zadań. Pokazują, które ograniczenia są aktywne, które zmienne muszą być zerowe i jak na podstawie rozwiązania zadania dualnego można odtworzyć informacje o rozwiązaniu zadania prymalnego.
W praktyce dualność jest nie tylko elegancką teorią, ale także użytecznym narzędziem rachunkowym. Szczególnie wtedy, gdy zadanie prymalne ma wiele zmiennych, ale niewiele ograniczeń, przejście do zadania dualnego może znacznie uprościć analizę.
Sebastian Dziarmaga-Działyński
Utworzono: 18.05.2026 | Zmodyfikowano: 20.06.2026
Dane przekrojowe, szeregi czasowe i dane panelowe w ekonometrii
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Wprowadzenie
W ekonometrii bardzo ważne jest nie tylko to, jakie zmienne wybieramy do modelu, ale również to, jakiego rodzaju dane analizujemy. Inaczej buduje się model dla obserwacji zebranych w jednym momencie dla wielu obiektów, inaczej dla danych uporządkowanych w czasie, a jeszcze inaczej dla danych, które łączą oba te wymiary.
Najczęściej wyróżnia się trzy podstawowe typy danych wykorzystywanych w modelach ekonometrycznych: dane przekrojowe, szeregi czasowe oraz dane panelowe. Każdy z tych typów danych ma własną specyfikę, własne zalety, ograniczenia oraz typowe problemy diagnostyczne.
W artykule wyjaśniamy, czym są dane przekrojowe, czym różnią się szeregi czasowe od danych przekrojowych, na czym polegają dane panelowe oraz dlaczego rodzaj danych ma wpływ na dobór zmiennych, estymację, weryfikację modelu i interpretację wyników.
Rodzaj danych wpływa na sposób budowy modelu ekonometrycznego. Od tego zależy między innymi, jakie zmienne można wprowadzić do modelu, jakie założenia są szczególnie ważne, jakie testy diagnostyczne należy wykonać oraz jak interpretować parametry.
W przypadku danych przekrojowych interesują nas różnice między obiektami. W przypadku szeregów czasowych analizujemy zmiany badanego zjawiska w czasie. Dane panelowe łączą oba podejścia, ponieważ obserwujemy wiele obiektów w wielu okresach.
Przykładowo, jeżeli analizujemy ceny mieszkań w jednym roku w różnych miastach, mamy dane przekrojowe. Jeżeli analizujemy średnią cenę mieszkań w jednym mieście w kolejnych kwartałach, mamy szereg czasowy. Jeżeli analizujemy ceny mieszkań w wielu miastach przez wiele lat, mamy dane panelowe.
Ten podział jest bardzo ważny, ponieważ każdy typ danych niesie inne ryzyko błędów. W danych przekrojowych często pojawia się heteroskedastyczność. W szeregach czasowych szczególnie ważna jest autokorelacja, trend i stacjonarność. W danych panelowych dochodzi dodatkowo problem zróżnicowania obiektów i efektów indywidualnych.
Dane przekrojowe
Dane przekrojowe to dane dotyczące wielu obiektów obserwowanych w tym samym momencie lub w tym samym okresie. Obiektami mogą być osoby, gospodarstwa domowe, przedsiębiorstwa, banki, miasta, regiony, państwa, mieszkania, sklepy albo produkty.
W danych przekrojowych głównym źródłem zmienności są różnice między obiektami. Nie interesuje nas tutaj przede wszystkim to, jak jedno zjawisko zmienia się w czasie, ale to, dlaczego jedne obiekty różnią się od innych.
Przykładowy model dla danych przekrojowych może mieć postać:
gdzie indeks $i$ oznacza kolejne obiekty, na przykład osoby, firmy albo mieszkania.
Jeżeli badamy wynagrodzenia pracowników, zmienną objaśnianą $Y_i$ może być wynagrodzenie $i$-tej osoby, a zmiennymi objaśniającymi: staż pracy, wykształcenie, branża, stanowisko i region.
Przykłady danych przekrojowych
Do typowych przykładów danych przekrojowych należą:
dochody gospodarstw domowych w danym roku,
ceny mieszkań sprzedanych w wybranym kwartale,
wynagrodzenia pracowników w danym przedsiębiorstwie,
zyski przedsiębiorstw w jednym roku,
zadłużenie gmin w określonym momencie,
wyniki egzaminów uczniów z jednej sesji egzaminacyjnej,
wskaźniki finansowe banków dla jednego roku.
W danych przekrojowych bardzo ważne jest, aby obserwacje były porównywalne. Jeżeli zestawiamy bardzo różne obiekty, na przykład małe sklepy rodzinne i duże międzynarodowe korporacje, model może wymagać dodatkowych zmiennych kontrolnych albo podziału próby na bardziej jednorodne grupy.
Typowym problemem w danych przekrojowych jest heteroskedastyczność, czyli zmienna wariancja składnika losowego. Przykładowo błędy modelu mogą być większe dla dużych firm niż dla małych firm albo większe dla gospodarstw o wysokich dochodach niż dla gospodarstw o niskich dochodach.
Schemat danych panelowych
Szeregi czasowe
Szereg czasowy to zbiór obserwacji tej samej zmiennej uporządkowanych w czasie. W przeciwieństwie do danych przekrojowych, gdzie analizujemy różnice między obiektami, w szeregach czasowych analizujemy zmiany danego zjawiska w kolejnych okresach.
Indeks obserwacji oznacza się zwykle literą $t$, która reprezentuje czas:
Szeregi czasowe mogą mieć różną częstotliwość. Mogą być dzienne, tygodniowe, miesięczne, kwartalne, roczne albo nawet godzinowe. Wybór częstotliwości ma duże znaczenie, ponieważ wpływa na liczbę obserwacji, widoczność sezonowości i charakter zależności między zmiennymi.
W szeregach czasowych szczególnie ważne jest to, że kolejność obserwacji nie jest przypadkowa. Obserwacja z jednego okresu może być powiązana z obserwacją z okresu poprzedniego. To właśnie dlatego w modelach szeregów czasowych tak często pojawia się problem autokorelacji.
Przykłady szeregów czasowych
Przykładami szeregów czasowych są:
miesięczna sprzedaż przedsiębiorstwa,
kwartalny produkt krajowy brutto,
roczna stopa bezrobocia,
dzienne kursy walut,
notowania akcji na giełdzie,
miesięczna inflacja,
liczba klientów sklepu internetowego w kolejnych tygodniach,
zużycie energii elektrycznej w kolejnych godzinach.
Przy analizie szeregów czasowych bardzo ważne jest uwzględnienie jednostki czasu. Inaczej interpretuje się dane roczne, a inaczej miesięczne lub dzienne. W danych miesięcznych często widoczna jest sezonowość, w danych finansowych mogą występować gwałtowne zmiany zmienności, a w danych makroekonomicznych często pojawia się trend długookresowy.
Najważniejsze cechy szeregów czasowych
Szeregi czasowe różnią się od danych przekrojowych kilkoma ważnymi cechami.
Po pierwsze, obserwacje są uporządkowane w czasie. Nie można ich dowolnie przestawiać bez utraty informacji. Kolejność obserwacji jest częścią danych.
Po drugie, w szeregach czasowych często występują zależności między kolejnymi obserwacjami. Dzisiejsza sprzedaż może być powiązana ze sprzedażą wczorajszą, a inflacja w tym miesiącu z inflacją w poprzednich miesiącach.
Po trzecie, wiele szeregów czasowych wykazuje trend, sezonowość, cykliczność albo zmiany poziomu zmienności. Oznacza to, że klasyczny model liniowy stosowany bezrefleksyjnie może prowadzić do błędnych wniosków.
Po czwarte, w szeregach czasowych pojawia się problem stacjonarności. Wiele metod statystycznych zakłada, że podstawowe własności szeregu nie zmieniają się w czasie. Jeżeli szereg jest niestacjonarny, konieczne może być jego przekształcenie albo zastosowanie specjalnych metod modelowania.
Trend, sezonowość i wahania losowe
W szeregach czasowych często wyróżnia się kilka składowych: trend, sezonowość, wahania cykliczne oraz wahania losowe.
Trend oznacza długookresową tendencję wzrostową lub spadkową. Przykładem może być wzrost przeciętnych wynagrodzeń w kolejnych latach albo wzrost liczby użytkowników usługi internetowej.
Sezonowość oznacza regularnie powtarzające się wahania w określonych porach roku, miesiącach, dniach tygodnia albo godzinach. Przykładowo sprzedaż lodów rośnie latem, sprzedaż opału zimą, a ruch w sklepie internetowym może zależeć od dnia tygodnia.
Wahania cykliczne są związane z dłuższymi okresami koniunktury i dekoniunktury. W ekonomii mogą dotyczyć cyklu gospodarczego, inwestycji, produkcji albo rynku pracy.
Wahania losowe to nieregularne odchylenia, których nie da się łatwo wyjaśnić trendem, sezonowością ani cyklem. W modelu ekonometrycznym część takich odchyleń trafia do składnika losowego.
Przykład szeregu czasowego wraz z jego składowymi.
Stacjonarność szeregu czasowego
Jednym z najważniejszych pojęć w analizie szeregów czasowych jest stacjonarność. Intuicyjnie szereg stacjonarny to taki, którego podstawowe własności nie zmieniają się w czasie. Jego średni poziom, zmienność i struktura zależności pozostają względnie stabilne.
Jeżeli szereg ma wyraźny trend wzrostowy albo spadkowy, zwykle nie jest stacjonarny. Jeżeli jego wariancja rośnie w czasie, również może być niestacjonarny. Wiele szeregów ekonomicznych, takich jak PKB, ceny, dochody czy podaż pieniądza, wykazuje niestacjonarność.
Niestacjonarność jest problemem, ponieważ może prowadzić do pozornych zależności. Dwie zmienne mogą rosnąć w czasie i wykazywać wysoką korelację, choć w rzeczywistości nie istnieje między nimi sensowny związek przyczynowy. Jest to jeden z powodów, dla których w analizie szeregów czasowych trzeba zachować szczególną ostrożność.
W praktyce do badania stacjonarności stosuje się specjalne testy, na przykład test Dickeya-Fullera lub jego rozszerzoną wersję ADF. Szczegółowe omówienie tych testów wymaga osobnego artykułu poświęconego modelowaniu szeregów czasowych.
Autokorelacja w szeregach czasowych
W szeregach czasowych często występuje autokorelacja, czyli zależność obserwacji od jej wcześniejszych wartości. Jeżeli wartość zmiennej w okresie $t$ jest powiązana z wartością w okresie $t-1$, mówimy o autokorelacji pierwszego rzędu.
Autokorelacja może dotyczyć samej zmiennej, ale w klasycznej diagnostyce modelu ekonometrycznego szczególnie ważna jest autokorelacja reszt. Jeżeli reszty są skorelowane w czasie, oznacza to, że model nie uchwycił pewnej struktury zależności.
W artykule o weryfikacji modelu ekonometrycznego omawialiśmy między innymi test Durbina-Watsona oraz test Breuscha-Godfreya. Są to narzędzia pozwalające sprawdzić, czy w resztach modelu występuje autokorelacja.
W praktyce autokorelacja jest jednym z najważniejszych powodów, dla których modelowanie szeregów czasowych wymaga innych narzędzi niż proste modele przekrojowe. Czasami konieczne jest dodanie opóźnionych zmiennych, składników autoregresyjnych, trendu, sezonowości albo zastosowanie modeli specjalnie zaprojektowanych dla szeregów czasowych.
Dane panelowe
Dane panelowe łączą cechy danych przekrojowych i szeregów czasowych. Oznacza to, że obserwujemy wiele obiektów w wielu okresach. Każdy obiekt ma więc własny mini-szereg czasowy, a jednocześnie w każdym okresie możemy porównywać różne obiekty między sobą.
Przykładowy zapis modelu panelowego może wyglądać następująco:
gdzie indeks $i$ oznacza obiekt, na przykład firmę, bank, gospodarstwo domowe albo państwo, a indeks $t$ oznacza czas.
Dane panelowe są bardzo cenne, ponieważ pozwalają analizować jednocześnie zróżnicowanie między obiektami oraz zmiany w czasie. Dzięki temu często można lepiej kontrolować cechy obiektów, których nie obserwujemy bezpośrednio, ale które są względnie stałe w czasie.
Przykłady danych panelowych
Przykładami danych panelowych są:
dane o wielu bankach obserwowanych w latach 2015 – 2025,
dane o przedsiębiorstwach obserwowanych przez kilka kolejnych lat,
dane o gospodarstwach domowych badanych w kolejnych falach ankiety,
dane o regionach i ich stopie bezrobocia w kolejnych kwartałach,
dane o państwach i ich wskaźnikach makroekonomicznych w wielu latach,
dane o szkołach i wynikach egzaminacyjnych uczniów w kolejnych rocznikach.
Załóżmy, że analizujemy rentowność banków. Dla każdego banku mamy dane z kolejnych lat: zysk netto, aktywa, kapitał własny, wynik odsetkowy, kredyty zagrożone i koszty operacyjne. Taki zbiór danych jest panelem, ponieważ zawiera zarówno wymiar przekrojowy, czyli różne banki, jak i wymiar czasowy, czyli kolejne lata.
Schemat danych panelowych
Panel zbilansowany i niezbilansowany
W danych panelowych wyróżnia się panel zbilansowany i niezbilansowany.
Panel zbilansowany występuje wtedy, gdy dla każdego obiektu mamy obserwacje dla tych samych okresów. Jeżeli badamy 10 banków w latach 2015 – 2025 i dla każdego banku mamy komplet danych za każdy rok, jest to panel zbilansowany.
Panel niezbilansowany występuje wtedy, gdy dla niektórych obiektów brakuje obserwacji w części okresów. Przykładowo jeden bank może mieć dane od 2015 roku, drugi od 2017 roku, a trzeci może mieć brak danych za 2020 rok.
Panel niezbilansowany jest bardzo częsty w praktyce. Braki danych mogą wynikać ze zmian metodologii, fuzji przedsiębiorstw, wejścia lub wyjścia obiektów z rynku, braku publikacji sprawozdań albo różnic w dostępności danych.
Przy pracy z danymi panelowymi trzeba dokładnie sprawdzić strukturę danych. Nie wystarczy wiedzieć, ile mamy wierszy w tabeli. Trzeba jeszcze wiedzieć, ile jest obiektów, ile okresów, czy panel jest zbilansowany oraz czy braki danych mają charakter przypadkowy.
Porównanie typów danych
Różnice między danymi przekrojowymi, szeregami czasowymi i danymi panelowymi można podsumować w tabeli.
Ten sam problem badawczy może wyglądać zupełnie inaczej w zależności od rodzaju danych. Analiza cen mieszkań w jednym mieście w kolejnych latach jest szeregiem czasowym. Analiza cen mieszkań w wielu miastach w jednym roku jest analizą przekrojową. Analiza cen mieszkań w wielu miastach w kolejnych latach ma charakter panelowy.
Jaki model dla jakich danych?
Rodzaj danych wpływa na wybór modelu ekonometrycznego i metod diagnostycznych.
Dla danych przekrojowych często stosuje się klasyczne modele regresji liniowej, modele logitowe, probitowe, modele dla danych jakościowych albo modele z odpornymi błędami standardowymi. Szczególną uwagę zwraca się na heteroskedastyczność, obserwacje odstające i poprawny dobór zmiennych objaśniających.
Dla szeregów czasowych stosuje się modele z trendem, sezonowością, opóźnieniami, modele autoregresyjne, modele ARIMA, modele VAR, modele korekty błędem oraz inne narzędzia analizy dynamicznej. Ważna jest stacjonarność, autokorelacja, opóźnienia i struktura czasowa zależności.
Dla danych panelowych stosuje się między innymi modele z efektami stałymi, modele z efektami losowymi oraz różne rozszerzenia uwzględniające autokorelację, heteroskedastyczność i zależności między obiektami. Dane panelowe pozwalają często kontrolować nieobserwowalne cechy obiektów, które są stałe w czasie.
Na poziomie wprowadzającym najważniejsze jest zrozumienie, że nie każdy zbiór danych można analizować w ten sam sposób. To, czy mamy dane przekrojowe, szereg czasowy czy panel, powinno być ustalone już na początku budowy modelu.
Najczęstsze błędy przy interpretacji danych
Jednym z częstych błędów jest traktowanie szeregu czasowego tak, jakby był zwykłym zbiorem niezależnych obserwacji. Jeżeli pominiemy kolejność czasu, możemy przeoczyć trend, sezonowość, autokorelację albo zmianę strukturalną.
Drugim błędem jest ignorowanie różnic między obiektami w danych panelowych. Jeżeli porównujemy wiele firm, banków albo państw, trzeba pamiętać, że mogą one różnić się cechami, których nie obserwujemy bezpośrednio. Te cechy mogą wpływać na wyniki modelu.
Trzecim błędem jest nadmierne zaufanie do wysokiej korelacji w szeregach czasowych. Dwie zmienne mogą rosnąć w czasie i wykazywać silny związek statystyczny tylko dlatego, że obie mają trend. Taka zależność może być pozorna.
Czwartym błędem jest mieszanie danych o różnej częstotliwości bez odpowiedniego przygotowania. Jeżeli jedna zmienna jest miesięczna, a druga roczna, trzeba zdecydować, jak je sprowadzić do wspólnej częstotliwości i jakie konsekwencje ma taka operacja.
Piątym błędem jest nieuwzględnienie celu modelu. Inaczej dobiera się dane do modelu opisowego, inaczej do modelu przyczynowego, a jeszcze inaczej do modelu prognostycznego. Rodzaj danych musi być zgodny z pytaniem badawczym.
Podsumowanie
Dane przekrojowe, szeregi czasowe i dane panelowe to trzy podstawowe typy danych wykorzystywanych w ekonometrii. Różnią się one strukturą, sposobem interpretacji oraz typowymi problemami, które pojawiają się podczas budowy i weryfikacji modelu.
Dane przekrojowe opisują wiele obiektów w jednym okresie. Szeregi czasowe opisują jedno zjawisko w kolejnych okresach. Dane panelowe łączą oba podejścia, ponieważ obejmują wiele obiektów obserwowanych w wielu okresach.
W danych przekrojowych szczególną uwagę zwraca się na różnice między obiektami, heteroskedastyczność i obserwacje odstające. W szeregach czasowych ważne są trend, sezonowość, autokorelacja i stacjonarność. W danych panelowych dochodzi dodatkowo problem efektów indywidualnych, braków danych oraz łączenia wymiaru przekrojowego z czasowym.
Rozpoznanie rodzaju danych powinno nastąpić przed doborem zmiennych, estymacją i weryfikacją modelu. Od tego zależy, jakie metody będą właściwe i jakie wnioski można bezpiecznie wyciągnąć z modelu ekonometrycznego.
W kolejnych artykułach można rozwinąć osobno modele szeregów czasowych, modele panelowe oraz praktyczne problemy przygotowania danych do analizy ekonometrycznej.
Sebastian Dziarmaga-Działyński
Utworzono: 16.05.2026 | Zmodyfikowano: 18.05.2026
Dobór zmiennych do modelu ekonometrycznego
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Wprowadzenie
Dobór zmiennych do modelu ekonometrycznego jest jednym z najważniejszych etapów budowy modelu. Nawet bardzo dobra metoda estymacji, na przykład metoda najmniejszych kwadratów, nie uratuje modelu, jeżeli już na początku wybierzemy niewłaściwe zmienne objaśniające. Model może wtedy wyglądać poprawnie formalnie, ale prowadzić do błędnych, przypadkowych albo trudnych do interpretacji wniosków.
W ekonometrii nie chodzi o mechaniczne wrzucenie do modelu wszystkich dostępnych kolumn z arkusza kalkulacyjnego. Zmienne powinny mieć uzasadnienie merytoryczne, odpowiednią zmienność, właściwy kierunek oddziaływania oraz nie powinny nadmiernie powielać informacji zawartej w innych zmiennych. Dlatego dobór zmiennych łączy wiedzę z zakresu ekonomii, statystyki, matematyki i praktycznej analizy danych.
W tym artykule omawiamy zarówno merytoryczne, jak i formalne metody doboru zmiennych. Wyjaśniamy, czym są metody a priori i a posteriori, dlaczego należy uważać na zmienne quasi-stałe oraz współliniowość, na czym polega metoda Hellwiga, metoda analizy współczynników korelacji, metoda grafowa Bartosiewiczowej oraz eliminacja zmiennych na podstawie wyników oszacowanego modelu.
Model ekonometryczny ma opisywać zależność między zmienną objaśnianą a zmiennymi objaśniającymi. Jeżeli dobierzemy zmienne przypadkowo, model może pokazywać pozorne zależności, które nie mają sensu merytorycznego. Może też pomijać ważne czynniki, przez co parametry pozostałych zmiennych zostaną oszacowane w sposób zniekształcony.
Dobór zmiennych wpływa między innymi na:
interpretację parametrów modelu,
istotność statystyczną zmiennych,
jakość prognoz,
wielkość błędów standardowych,
współczynnik determinacji,
stabilność oszacowań,
zgodność modelu z teorią ekonomii lub inną teorią dziedzinową.
Zbyt ubogi model może pomijać ważne czynniki. Zbyt rozbudowany model może być trudny do interpretacji, nadmiernie dopasowany do konkretnej próby albo obciążony problemem współliniowości. Dlatego dobór zmiennych jest sztuką znalezienia rozsądnego kompromisu między prostotą, merytorycznością i jakością statystyczną.
Zmienna objaśniana i zmienne objaśniające
Punktem wyjścia jest określenie zmiennej objaśnianej, czyli tej wielkości, którą chcemy wyjaśnić, opisać lub prognozować. Oznacza się ją zwykle symbolem $Y$. Może to być na przykład sprzedaż, cena mieszkania, zysk przedsiębiorstwa, poziom wynagrodzenia, stopa bezrobocia albo wartość kredytów zagrożonych w banku.
Zmienne objaśniające oznacza się zwykle jako $X_1, X_2, \ldots, X_k$. Są to czynniki, które potencjalnie wpływają na zmienną $Y$. W modelu ceny mieszkania mogą to być powierzchnia, liczba pokoi, lokalizacja, piętro i rok budowy. W modelu sprzedaży mogą to być cena, wydatki na reklamę, dochody konsumentów, sezonowość i liczba punktów sprzedaży.
Ogólną postać liniowego modelu ekonometrycznego zapisujemy jako:
Dobór zmiennych polega na ustaleniu, które spośród potencjalnych zmiennych $X_1, X_2, \ldots, X_m$ powinny ostatecznie znaleźć się w modelu.
Merytoryczne kryteria doboru zmiennych
Pierwszym kryterium doboru zmiennych powinien być sens merytoryczny. Zmienna objaśniająca powinna mieć uzasadnienie w teorii ekonomii, finansów, zarządzania, socjologii, demografii albo innej dziedzinie, której dotyczy model.
Przykładowo, jeżeli budujemy model popytu, naturalnymi zmiennymi objaśniającymi mogą być cena dobra, dochód konsumentów, ceny dóbr substytucyjnych i komplementarnych, preferencje konsumentów oraz sezonowość. Jeżeli budujemy model wynagrodzeń, sensowne zmienne to między innymi staż pracy, wykształcenie, branża, region, doświadczenie zawodowe i stanowisko.
Zmienna nie powinna być wybierana tylko dlatego, że „ładnie koreluje” ze zmienną objaśnianą. Korelacja może być przypadkowa, pozorna albo wynikać z działania trzeciej zmiennej. Dlatego przed zastosowaniem formalnych metod selekcji warto zadać pytania:
czy dana zmienna może rzeczywiście wpływać na zmienną objaśnianą?
czy kierunek tego wpływu jest zgodny z teorią?
czy zmienna jest mierzona poprawnie?
czy zależność ma charakter przyczynowo-skutkowy, czy tylko statystyczny?
czy zmienna jest dostępna w praktyce, jeżeli model ma służyć do prognozowania?
W praktyce dobry model powinien łączyć trzy elementy: sens merytoryczny, poprawność statystyczną oraz użyteczność praktyczną.
Zmienność zmiennych objaśniających
Zmienna objaśniająca powinna wykazywać odpowiednią zmienność. Jeżeli prawie się nie zmienia, trudno oczekiwać, że pomoże wyjaśnić zmienność zmiennej objaśnianej. Taka zmienna nie wnosi do modelu istotnej informacji, ponieważ jej wartości są prawie takie same dla wszystkich obserwacji.
Do oceny zmienności można wykorzystać na przykład współczynnik zmienności:
$$V_j = \frac{s_j}{\bar{x}_j} \cdot 100\%$$
gdzie $s_j$ oznacza odchylenie standardowe zmiennej $X_j$, a $\bar{x}_j$ jej średnią arytmetyczną. Jeżeli współczynnik zmienności jest bardzo mały, zmienna może zostać uznana za quasi-stałą.
Trzeba jednak uważać przy zmiennych, których średnia jest bliska zeru albo które mogą przyjmować wartości ujemne. Wtedy klasyczny współczynnik zmienności może być mylący. W takich przypadkach warto analizować także odchylenie standardowe, zakres zmienności, wykresy oraz sens ekonomiczny zmiennej.
Zmienne quasi-stałe
Zmienna quasi-stała to zmienna, która w badanej próbie przyjmuje bardzo podobne wartości. Nie musi być dokładnie stała, ale jej zmienność jest tak mała, że praktycznie nie pomaga w wyjaśnianiu zmian zmiennej objaśnianej.
Jeżeli model zawiera wyraz wolny, zmienna prawie stała może w pewnym sensie „gryźć się” z wyrazem wolnym. Wyraz wolny reprezentuje stały poziom zmiennej objaśnianej, a zmienna quasi-stała dostarcza bardzo podobnej informacji dla wszystkich obserwacji. W efekcie jej parametr zwykle jest mało precyzyjnie oszacowany i często okazuje się nieistotny statystycznie.
Przykładowo, jeżeli analizujemy ceny mieszkań w jednym mieście i jedna ze zmiennych przyjmuje wartość 1 dla prawie wszystkich obserwacji, a tylko sporadycznie wartość 0, to taka zmienna może nie dostarczać wystarczającej informacji. Podobnie, jeżeli w modelu przedsiębiorstw prawie wszystkie firmy należą do tej samej branży, zmienna branżowa może być praktycznie bezużyteczna w danej próbie.
Wstępna selekcja zmiennych często zaczyna się właśnie od usunięcia zmiennych o zbyt małej zmienności, brakach danych, błędnych pomiarach albo zbyt małej wartości informacyjnej.
Współliniowość zmiennych objaśniających
Kolejnym ważnym problemem jest współliniowość zmiennych objaśniających. Występuje ona wtedy, gdy jedna zmienna objaśniająca jest silnie powiązana z innymi zmiennymi objaśniającymi. Jeżeli zależność jest dokładna, mówimy o dokładnej współliniowości. Jeżeli jest bardzo silna, ale nie idealna, mówimy o silnej współliniowości.
Dokładna współliniowość uniemożliwia oszacowanie klasycznego modelu MNK, ponieważ macierz $\mathbf{X}'\mathbf{X}$ nie jest odwracalna. W praktyce częściej spotykamy jednak silną, ale niedokładną współliniowość. Model da się wtedy oszacować, ale jego wyniki mogą być niestabilne.
Silna współliniowość może powodować:
duże błędy standardowe parametrów,
brak istotności pojedynczych parametrów mimo wysokiego dopasowania modelu,
zmianę znaków parametrów na sprzeczne z teorią,
dużą wrażliwość wyników na dodanie lub usunięcie kilku obserwacji,
trudności z interpretacją wpływu poszczególnych zmiennych.
Współliniowość jest jednym z głównych powodów, dla których nie należy wprowadzać do modelu wielu zmiennych opisujących prawie to samo zjawisko. Przykładowo dochód gospodarstwa domowego, wydatki ogółem i poziom konsumpcji mogą być ze sobą bardzo silnie powiązane. Podobnie aktywa ogółem, przychody i liczba pracowników mogą jednocześnie mierzyć skalę przedsiębiorstwa.
VIF — współczynnik inflacji wariancji
Jedną z najczęściej stosowanych miar współliniowości jest VIF, czyli variance inflation factor, po polsku współczynnik inflacji wariancji.
Dla zmiennej $X_j$ współczynnik VIF oblicza się według wzoru:
$$VIF_j = \frac{1}{1 - R_j^2}$$
gdzie $R_j^2$ oznacza współczynnik determinacji z regresji pomocniczej, w której zmienna $X_j$ jest objaśniana przez pozostałe zmienne objaśniające.
Jeżeli $X_j$ jest słabo powiązana z pozostałymi zmiennymi, $R_j^2$ jest małe, a VIF jest bliski 1. Jeżeli $X_j$ jest silnie wyjaśniana przez pozostałe zmienne, $R_j^2$ zbliża się do 1, a VIF gwałtownie rośnie.
W praktyce często przyjmuje się orientacyjnie, że VIF powyżej 5 może sygnalizować problem, a VIF powyżej 10 oznacza poważną współliniowość. Nie są to jednak granice absolutne. Wiele zależy od celu badania, liczby obserwacji, rodzaju danych i charakteru zmiennych.
O współliniowości warto wspomnieć zarówno przy doborze zmiennych, jak i przy weryfikacji modelu ekonometrycznego. Na etapie doboru zmiennych staramy się unikać zmiennych nadmiernie skorelowanych, a po oszacowaniu modelu możemy dodatkowo sprawdzić wartości VIF i stabilność parametrów.
Współliniowość zmiennych objaśniających: zmienne $x_1$ oraz $x_2$, jako silnie skorelowane, wnoszą do modelu tę samą informację.
Metody a priori i a posteriori doboru zmiennych
Metody doboru zmiennych można podzielić na dwie duże grupy: metody a priori oraz metody a posteriori.
Metody a priori stosuje się przed oszacowaniem ostatecznego modelu. Wykorzystują one wiedzę merytoryczną, zmienność zmiennych, korelacje między zmiennymi oraz formalne procedury selekcji. Celem jest wybranie rozsądnego zestawu zmiennych jeszcze przed estymacją modelu.
Do metod a priori można zaliczyć między innymi:
dobór merytoryczny na podstawie teorii,
eliminację zmiennych quasi-stałych,
analizę korelacji zmiennych objaśniających ze zmienną objaśnianą,
analizę korelacji między zmiennymi objaśniającymi,
metodę analizy współczynników korelacji,
metodę grafową Bartosiewiczowej,
metodę Hellwiga.
Metody a posteriori stosuje się po oszacowaniu modelu. Polegają one na analizie wyników estymacji: istotności parametrów, znaków parametrów, błędów standardowych, VIF, dopasowania modelu oraz diagnostyki reszt. Najbardziej typowym przykładem jest eliminacja zmiennych nieistotnych statystycznie.
W praktyce najlepsze efekty daje połączenie obu podejść. Najpierw warto przygotować merytorycznie uzasadniony i statystycznie rozsądny zestaw kandydatów, a dopiero później dopracować model na podstawie wyników estymacji.
Metoda analizy współczynników korelacji
Metoda analizy współczynników korelacji jest jedną z klasycznych metod a priori doboru zmiennych objaśniających. Jej idea polega na wyborze takich zmiennych, które są istotnie skorelowane ze zmienną objaśnianą $Y$, ale jednocześnie nie są zbyt silnie skorelowane między sobą.
W tej metodzie nie należy opierać się wyłącznie na umownych określeniach typu „słaba”, „umiarkowana” lub „silna” korelacja. W klasycznym ujęciu wyznacza się krytyczną wartość współczynnika korelacji, oznaczaną zwykle jako $r^*$. Wartość ta zależy od przyjętego poziomu istotności oraz od liczebności próby.
Punktem wyjścia jest test istotności współczynnika korelacji Pearsona. Dla hipotezy:
$$H_0: \rho = 0$$
$$H_1: \rho \neq 0$$
stosuje się statystykę:
$$t = \frac{r\sqrt{n-2}}{\sqrt{1-r^2}}$$
gdzie $r$ oznacza współczynnik korelacji z próby, a $n$ oznacza liczbę obserwacji. Po przekształceniu tego wzoru otrzymujemy krytyczną wartość współczynnika korelacji:
$$r^* = \frac{t^*}{\sqrt{(t^*)^2+n-2}}$$
gdzie $t^*$ oznacza wartość krytyczną rozkładu t-Studenta dla $n-2$ stopni swobody oraz przyjętego poziomu istotności, najczęściej $\alpha = 0{,}05$. Przy teście dwustronnym wartość $t^*$ odczytujemy dla poziomu $\alpha/2$ w każdym ogonie rozkładu.
Następnie porównujemy wartości bezwzględne współczynników korelacji z wartością krytyczną $r^*$. Jeżeli:
$$|r_{0j}| > r^*$$
to zmienna $X_j$ jest istotnie skorelowana ze zmienną objaśnianą $Y$ i może być kandydatem do modelu. Jeżeli natomiast:
$$|r_{0j}| \leq r^*$$
to zmienna $X_j$ jest zbyt słabo powiązana ze zmienną objaśnianą i zwykle usuwa się ją ze zbioru kandydatów.
Podobnie analizujemy korelacje między zmiennymi objaśniającymi. Jeżeli dwie zmienne objaśniające są ze sobą zbyt silnie skorelowane, czyli:
$$|r_{ij}| > r^*$$
to zwykle nie powinny jednocześnie znaleźć się w modelu, ponieważ mogą prowadzić do współliniowości. Z takiej pary pozostawia się najczęściej tę zmienną, która jest silniej skorelowana ze zmienną objaśnianą $Y$ albo ma lepsze uzasadnienie merytoryczne.
Typowa procedura może wyglądać następująco:
Obliczamy współczynniki korelacji między $Y$ a wszystkimi potencjalnymi zmiennymi objaśniającymi.
Obliczamy współczynniki korelacji między samymi zmiennymi objaśniającymi.
Wyznaczamy krytyczną wartość korelacji $r^*$ na podstawie rozkładu t-Studenta.
Usuwamy zmienne, dla których $|r_{0j}| \leq r^*$, ponieważ nie są istotnie skorelowane ze zmienną objaśnianą.
Wybieramy zmienną najsilniej skorelowaną ze zmienną $Y$.
Usuwamy ze zbioru kandydatów zmienne zbyt silnie skorelowane z już wybraną zmienną, czyli takie, dla których $|r_{ij}| > r^*$.
Z pozostałych zmiennych wybieramy kolejną najlepiej skorelowaną z $Y$.
Powtarzamy procedurę aż do wyczerpania kandydatów.
Przykładowo, jeżeli dla danej liczby obserwacji i poziomu istotności $\alpha = 0{,}05$ otrzymamy $r^* = 0{,}63$, to korelacje o wartości bezwzględnej mniejszej lub równej 0,63 uznajemy za zbyt słabe. Natomiast korelacje między zmiennymi objaśniającymi większe od 0,63 mogą wskazywać, że zmienne przekazują podobną informację i nie powinny jednocześnie występować w modelu.
Załóżmy, że mamy trzy potencjalne zmienne objaśniające: $X_1$, $X_2$, $X_3$. Ich korelacje ze zmienną $Y$ wynoszą:
Jeżeli $r^* = 0{,}63$, to zmienna $X_3$ zostanie usunięta, ponieważ $|r_{03}| = 0{,}12 \leq 0{,}63$. Zmienne $X_1$ i $X_2$ są istotnie skorelowane ze zmienną $Y$, ale jednocześnie są bardzo silnie skorelowane między sobą, ponieważ $|r_{12}| = 0{,}91 > 0{,}63$. W takiej sytuacji wybieramy zwykle zmienną $X_1$, ponieważ ma większą korelację ze zmienną objaśnianą niż $X_2$.
Algorytm metody analizy współczynników korelacji.
Zaletą tej metody jest prostota i jasna logika postępowania. Wadą jest to, że opiera się głównie na korelacjach liniowych parami. Może więc pomijać zmienne merytorycznie ważne, które nie mają silnej prostej korelacji z $Y$, ale stają się istotne w modelu wielowymiarowym albo po odpowiednim przekształceniu.
Metoda grafowa Bartosiewiczowej
Metoda grafowa Bartosiewiczowej, nazywana również metodą analizy grafów albo metodą Bartosiewicz, jest klasyczną metodą a priori doboru zmiennych objaśniających. W polskiej dydaktyce ekonometrii pojawia się dość często, choć w praktyce analitycznej bywa rzadziej stosowana niż metody regresyjne lub informacyjne.
Metoda ta polega na zbudowaniu grafu powiązań między potencjalnymi zmiennymi objaśniającymi. Wierzchołkami grafu są zmienne $X_1, X_2, \ldots, X_k$, a krawędź między dwiema zmiennymi pojawia się wtedy, gdy są one zbyt silnie skorelowane, czyli gdy:
$$|r_{ij}| > r^*$$
gdzie $r^*$ oznacza przyjętą krytyczną wartość korelacji.
Interpretacja jest następująca: jeżeli dwie zmienne są połączone krawędzią, to przekazują do modelu podobną informację. Nie chcemy więc zwykle wprowadzać ich obu jednocześnie, ponieważ mogłoby to prowadzić do współliniowości.
W metodzie grafowej szczególnie interesują nas:
zmienne odosobnione, czyli nieskorelowane silnie z innymi kandydatami,
podgrafy zmiennych wzajemnie powiązanych,
zmienne centralne w danym podgrafie, reprezentujące grupę podobnych zmiennych,
korelacje poszczególnych zmiennych ze zmienną objaśnianą $Y$.
Przykładowo załóżmy, że mamy cztery zmienne: $X_1$, $X_2$, $X_3$, $X_4$. Przyjmujemy $r^* = 0{,}7$. Korelacje między zmiennymi objaśniającymi są następujące:
W grafie pojawią się dwie krawędzie: między $X_1$ i $X_2$ oraz między $X_3$ i $X_4$. Oznacza to, że mamy dwie pary silnie powiązanych zmiennych. Z każdej pary wybieramy zwykle tę zmienną, która jest silniej skorelowana ze zmienną objaśnianą $Y$ albo ma lepsze uzasadnienie merytoryczne.
to z pary $X_1$, $X_2$ wybralibyśmy raczej $X_1$, a z pary $X_3$, $X_4$ raczej $X_4$. Ostatecznie do modelu mogłyby trafić zmienne $X_1$ i $X_4$.
Zaletą metody grafowej jest przejrzystość. Bardzo dobrze pokazuje ona problem współliniowości i grupowania podobnych zmiennych. Wadą jest pewna arbitralność wyboru wartości krytycznej $r^*$ oraz uproszczone traktowanie zależności, ponieważ metoda opiera się głównie na korelacjach parami.
Ilustracja metody doboru zmiennych, polegającej na analizie grafu powiązań między zmiennymi.
Metoda Hellwiga
Metoda Hellwiga, nazywana również metodą wskaźników pojemności informacji albo metodą optymalnego wyboru predyktant, jest jedną z najbardziej znanych formalnych metod doboru zmiennych objaśniających w polskiej ekonometrii.
Jej idea polega na tym, aby wybrać taki podzbiór zmiennych objaśniających, który ma dużą wartość informacyjną względem zmiennej objaśnianej, ale jednocześnie nie zawiera zmiennych silnie powielających tę samą informację.
Metoda Hellwiga premiuje więc zmienne silnie skorelowane ze zmienną $Y$, ale karze zestawy zmiennych, które są zbyt silnie skorelowane między sobą. Dzięki temu dobrze wpisuje się w klasyczną zasadę: zmienne objaśniające powinny mocno wyjaśniać zmienną objaśnianą i jednocześnie nie powinny być nadmiernie współliniowe.
Dla każdego niepustego podzbioru zmiennych objaśniających oblicza się indywidualne pojemności informacyjne, a następnie integralną pojemność informacyjną całego podzbioru.
Jedna z często spotykanych postaci indywidualnej pojemności informacyjnej zmiennej $X_j$ w podzbiorze $l$ ma postać:
$$h_{lj} = \frac{r_{0j}^2}{1 + \sum_{i \in I_l,\, i \neq j}|r_{ij}|}$$
gdzie:
$r_{0j}$ — korelacja zmiennej $X_j$ ze zmienną objaśnianą $Y$,
$r_{ij}$ — korelacja między zmiennymi objaśniającymi $X_i$ i $X_j$,
Integralna pojemność informacyjna podzbioru $l$ jest sumą indywidualnych pojemności informacyjnych:
$$H_l = \sum_{j \in I_l} h_{lj}$$
Wybieramy ten podzbiór zmiennych, dla którego wartość $H_l$ jest największa.
Jeżeli mamy $m$ potencjalnych zmiennych objaśniających, liczba niepustych podzbiorów wynosi:
$$2^m - 1$$
Dla trzech zmiennych mamy więc 7 podzbiorów, dla czterech 15, dla pięciu 31, a dla dziesięciu już 1023. Przy większej liczbie zmiennych ręczne obliczenia stają się więc pracochłonne, ale w arkuszu kalkulacyjnym lub programie statystycznym można je zautomatyzować.
Metoda Hellwiga jest czasem krytykowana, ponieważ opiera się na korelacjach i formalnej miarze informacyjnej, która nie zastępuje wiedzy merytorycznej. Mimo to jest bardzo często spotykana w dydaktyce ekonometrii na polskich uczelniach i dobrze pokazuje problem kompromisu między informacją a współliniowością.
Przykład metody Hellwiga
Rozważmy prosty przykład z trzema potencjalnymi zmiennymi objaśniającymi: $X_1$, $X_2$, $X_3$. Załóżmy, że korelacje ze zmienną objaśnianą $Y$ wynoszą:
Porównując wartości $H_l$, otrzymujemy orientacyjnie:
Podzbiór zmiennych
Integralna pojemność informacyjna
{X1}
0,640
{X2}
0,490
{X3}
0,160
{X1, X2}
0,611
{X1, X3}
0,666
{X2, X3}
0,500
{X1, X2, X3}
0,647
Największą wartość uzyskuje podzbiór $\{X_1, X_3\}$, więc według metody Hellwiga to właśnie ten zestaw zmiennych należałoby wybrać do modelu.
Warto zauważyć, że metoda nie wybrała pary $X_1$, $X_2$, mimo że obie zmienne są silnie skorelowane z $Y$. Powodem jest ich bardzo silna korelacja między sobą. Metoda Hellwiga uznała, że lepiej połączyć silną zmienną $X_1$ ze słabszą, ale bardziej niezależną informacyjnie zmienną $X_3$.
Eliminacja a posteriori zmiennych nieistotnych
W praktyce bardzo często stosuje się metodę eliminacji a posteriori. Polega ona na oszacowaniu modelu z pełnym, wstępnie wybranym zestawem zmiennych, a następnie stopniowym usuwaniu zmiennych nieistotnych statystycznie.
Typowa procedura wygląda następująco:
Dobieramy wstępny zestaw zmiennych na podstawie teorii i analizy danych.
Szacujemy model zawierający wszystkie wybrane zmienne.
Sprawdzamy istotność parametrów, najczęściej za pomocą testu t-Studenta.
Usuwamy zmienną o najwyższym p-value, jeżeli jest nieistotna statystycznie.
Ponownie szacujemy model.
Powtarzamy procedurę, aż w modelu pozostaną zmienne istotne albo merytorycznie konieczne.
Metoda ta jest intuicyjna i często stosowana w praktyce, ale ma także ograniczenia. Usunięcie jednej zmiennej może zmienić istotność pozostałych zmiennych, zwłaszcza gdy występuje współliniowość. Czasami zmienna nieistotna statystycznie jest ważna merytorycznie i jej usunięcie prowadzi do błędnej specyfikacji modelu.
Dlatego eliminacja a posteriori nie powinna być stosowana mechanicznie. Nie należy usuwać zmiennej tylko dlatego, że jej p-value przekracza 0,05, jeżeli zmienna jest kluczowa z punktu widzenia teorii albo pełni funkcję kontrolną. W badaniach ekonomicznych często ważniejszy jest sens modelu niż ślepe podporządkowanie się jednej procedurze statystycznej.
Można spotkać sytuację, w której po kolejnych eliminacjach w modelu pozostają tylko dwie zmienne, ale model traci sens ekonomiczny. Można też spotkać sytuację odwrotną: zmienna jest merytorycznie ważna, ale w konkretnej próbie okazuje się nieistotna, na przykład z powodu małej liczby obserwacji albo współliniowości.
Ryzyko mechanicznego doboru zmiennych
Formalne metody doboru zmiennych są pomocne, ale nie powinny zastępować myślenia. Każda metoda ma swoje ograniczenia. Metody korelacyjne badają głównie zależności liniowe parami. Metoda Hellwiga opiera się na korelacjach i pojemności informacyjnej. Metoda grafowa dobrze pokazuje współliniowość, ale także zależy od przyjętej wartości krytycznej korelacji. Eliminacja a posteriori może prowadzić do modelu dopasowanego do konkretnej próby, ale słabego merytorycznie.
Do najczęstszych błędów należą:
dobór zmiennych wyłącznie na podstawie korelacji,
ignorowanie teorii ekonomii,
usuwanie zmiennych kontrolnych tylko dlatego, że są nieistotne,
wprowadzanie do modelu wielu zmiennych opisujących to samo zjawisko,
pomijanie problemu współliniowości,
zbyt mechaniczne stosowanie progów p-value,
budowanie modelu pod z góry oczekiwany wynik.
Model ekonometryczny powinien być nie tylko statystycznie poprawny, ale także merytorycznie sensowny. Jeżeli wynik formalnej procedury jest sprzeczny z teorią albo zdrowym rozsądkiem, warto wrócić do danych i zastanowić się, czy nie występuje problem pomiaru, pominięcia ważnej zmiennej, obserwacji odstających albo błędnej postaci modelu.
Jak łączyć różne metody doboru zmiennych?
W praktyce dobór zmiennych najlepiej prowadzić etapami. Nie ma jednej metody, która zawsze daje najlepszy model. Rozsądna procedura może wyglądać następująco:
Najpierw określamy problem badawczy i zmienną objaśnianą.
Na podstawie teorii i wiedzy dziedzinowej tworzymy listę potencjalnych zmiennych objaśniających.
Usuwamy zmienne z błędami, dużą liczbą braków danych albo zbyt małą zmiennością.
Analizujemy korelacje zmiennych z $Y$ oraz korelacje między zmiennymi objaśniającymi.
Sprawdzamy ryzyko współliniowości, na przykład przy pomocy macierzy korelacji lub VIF.
Możemy pomocniczo zastosować metodę Hellwiga, metodę grafową albo analizę współczynników korelacji.
Szacujemy model i przeprowadzamy eliminację a posteriori, ale z zachowaniem kontroli merytorycznej.
Takie połączenie metod pozwala uniknąć dwóch skrajności. Z jednej strony nie opieramy modelu wyłącznie na intuicji, z drugiej strony nie oddajemy całej decyzji automatycznej procedurze matematycznej.
Dobór zmiennych jest procesem iteracyjnym. Czasami po oszacowaniu modelu trzeba wrócić do wcześniejszych etapów, zmienić zestaw zmiennych, przekształcić zmienne, usunąć obserwacje odstające albo przemyśleć samą postać modelu.
Podsumowanie
Dobór zmiennych do modelu ekonometrycznego jest jednym z kluczowych etapów modelowania. Zmienne powinny być dobrane nieprzypadkowo, zgodnie z teorią i celem badania. Powinny mieć odpowiednią zmienność, być sensownie mierzone i nie powinny nadmiernie powielać informacji zawartej w innych zmiennych.
Wstępna selekcja zmiennych obejmuje zwykle ocenę merytoryczną, analizę zmienności, eliminację zmiennych quasi-stałych oraz analizę współliniowości. Silnie skorelowane zmienne objaśniające mogą prowadzić do dużych błędów standardowych parametrów, niestabilnych oszacowań i problemów interpretacyjnych. Pomocną miarą współliniowości jest współczynnik VIF.
Do klasycznych metod a priori należą metoda analizy współczynników korelacji, metoda grafowa Bartosiewiczowej oraz metoda Hellwiga. Metoda Hellwiga wybiera podzbiór zmiennych o największej integralnej pojemności informacyjnej, premiując zmienne silnie powiązane z $Y$ i jednocześnie niezbyt silnie skorelowane między sobą.
Metody a posteriori, takie jak eliminacja zmiennych nieistotnych statystycznie, są bardzo użyteczne, ale nie powinny być stosowane mechanicznie. Wyniki testów istotności należy zawsze interpretować w kontekście wiedzy merytorycznej, celu modelu oraz jakości danych.
Dobry dobór zmiennych jest kompromisem między teorią, statystyką i praktycznym celem modelu. To właśnie od tego etapu w dużej mierze zależy, czy model ekonometryczny będzie nie tylko poprawny formalnie, ale także sensowny i użyteczny.
Sebastian Dziarmaga-Działyński
Utworzono: 16.05.2026 | Zmodyfikowano: 18.05.2026
Metoda najmniejszych kwadratów — estymacja parametrów modelu ekonometrycznego
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Wprowadzenie
Metoda najmniejszych kwadratów, często oznaczana skrótem MNK, jest jedną z podstawowych metod stosowanych w ekonometrii, statystyce i analizie danych. Jej głównym zadaniem jest estymacja parametrów modelu ekonometrycznego, czyli oszacowanie nieznanych współczynników opisujących zależność między zmienną objaśnianą a zmiennymi objaśniającymi.
W praktyce bardzo często nie znamy prawdziwego, „idealnego” modelu opisującego całą populację. Nie znamy także jego prawdziwych parametrów strukturalnych. Dysponujemy jedynie próbą danych, czyli pewnym fragmentem rzeczywistości. Na podstawie tej próby próbujemy możliwie dobrze odtworzyć zależność zachodzącą w populacji. Właśnie do tego służy metoda najmniejszych kwadratów.
W najprostszym ujęciu MNK polega na takim dobraniu prostej, płaszczyzny albo ogólnie hiperpłaszczyzny regresji, aby suma kwadratów odchyleń wartości rzeczywistych od wartości teoretycznych była jak najmniejsza. Mówiąc bardziej obrazowo: szukamy takiego równania modelu, które możliwie dobrze „przechodzi” przez chmurę punktów, ale nie musi przechodzić dokładnie przez każdy punkt.
W tym artykule wyjaśniamy, czym jest metoda najmniejszych kwadratów, jaka jest jej intuicja, jak wygląda zapis skalarny i macierzowy, czym różnią się parametry modelu od ich ocen, co oznaczają błędy standardowe oszacowania parametrów oraz jakie znaczenie mają założenia Gaussa-Markowa.
Metoda najmniejszych kwadratów to metoda estymacji parametrów modelu, w której wybieramy takie wartości parametrów, aby suma kwadratów różnic między wartościami zaobserwowanymi a wartościami przewidywanymi przez model była minimalna.
Jeżeli rzeczywista wartość zmiennej objaśnianej dla $i$-tej obserwacji wynosi $y_i$, a wartość teoretyczna, czyli przewidywana przez model, wynosi $\hat{y}_i$, to różnicę między nimi nazywamy resztą:
$$e_i = y_i - \hat{y}_i$$
Metoda najmniejszych kwadratów polega na minimalizacji sumy kwadratów tych reszt:
Skrót $SSE$ pochodzi od angielskiego określenia sum of squared errors, czyli suma kwadratów błędów albo suma kwadratów reszt. W polskiej literaturze spotyka się również oznaczenia takie jak $SKR$, czyli suma kwadratów reszt.
Kwadraty stosuje się między innymi dlatego, że dodatnie i ujemne odchylenia nie znoszą się wzajemnie. Gdybyśmy minimalizowali zwykłą sumę reszt, dodatnie i ujemne błędy mogłyby się kasować, nawet gdy model byłby źle dopasowany. Podnoszenie do kwadratu sprawia, że każda reszta wnosi dodatni wkład do miary niedopasowania, a duże błędy są „karane” silniej niż małe.
Idea metody najmniejszych kwadratów. — prosta regresji jest dobierana tak, aby suma kwadratów reszt była jak najmniejsza.
Model populacyjny a model oszacowany
Aby dobrze zrozumieć metodę najmniejszych kwadratów, trzeba odróżnić model populacyjny od modelu oszacowanego na podstawie próby.
W teorii możemy wyobrazić sobie, że w populacji istnieje pewna prawdziwa zależność między zmienną objaśnianą $Y$ a zmiennymi objaśniającymi $X_1, X_2, \ldots, X_k$. Dla liniowego modelu ekonometrycznego zapisujemy ją na przykład tak:
Parametry $\beta_0, \beta_1, \ldots, \beta_k$ są parametrami strukturalnymi modelu populacyjnego. To one opisują prawdziwą, teoretyczną zależność w całej populacji. Problem polega na tym, że w praktyce zwykle ich nie znamy i nie możemy ich poznać bezpośrednio.
Gdybyśmy znali wszystkie obserwacje w populacji i dokładnie wiedzieli, jak działa mechanizm generujący dane, moglibyśmy mówić o idealnym modelu. W rzeczywistych badaniach ekonomicznych, finansowych czy społecznych dysponujemy jednak najczęściej tylko próbą. Na jej podstawie szacujemy parametry, otrzymując ich oceny:
Warto zauważyć, że symbole z daszkiem, na przykład $\hat{\beta}_1$, oznaczają oceny parametrów, a nie same prawdziwe parametry. Metoda najmniejszych kwadratów nie daje nam więc bezpośrednio wartości $\beta_1$, lecz jej oszacowanie na podstawie danych z próby.
W tym sensie MNK jest metodą estymacji. Nie odkrywamy wprost idealnego modelu populacyjnego, lecz budujemy jego przybliżenie. Jakość tego przybliżenia zależy od wielu czynników: liczebności próby, jakości danych, poprawności doboru zmiennych, spełnienia założeń modelu oraz losowego charakteru próby.
W niektórych podręcznikach mówi się w tym kontekście o regresji teoretycznej, populacyjnej lub regresji pierwszego rodzaju, rozumianej jako zależność zachodząca w populacji, oraz o regresji empirycznej, wyznaczonej na podstawie próby. W praktyce badawczej znamy zwykle tylko tę drugą, czyli oszacowaną postać modelu.
Intuicja metody najmniejszych kwadratów
Najłatwiej zrozumieć MNK na przykładzie wykresu punktowego. Wyobraźmy sobie, że na osi poziomej zaznaczamy wydatki na reklamę, a na osi pionowej sprzedaż. Każdy punkt odpowiada jednej obserwacji, na przykład jednemu miesiącowi działalności firmy.
Jeżeli między wydatkami na reklamę a sprzedażą występuje dodatnia zależność, punkty będą układały się mniej więcej wzdłuż rosnącego kierunku. Nie będą jednak leżały idealnie na jednej prostej, ponieważ sprzedaż zależy również od wielu innych czynników: sezonu, działań konkurencji, cen, przypadkowych zdarzeń czy ogólnej sytuacji rynkowej.
Metoda najmniejszych kwadratów szuka takiej prostej, dla której pionowe odległości punktów od prostej, po podniesieniu do kwadratu i zsumowaniu, są jak najmniejsze. Te pionowe odległości to właśnie reszty modelu.
Można powiedzieć, że MNK wybiera „najbardziej kompromisową” prostą. Nie musi ona przechodzić przez żaden konkretny punkt, ale jest dobrana tak, aby całościowo najlepiej dopasować się do wszystkich obserwacji.
Prosty model liniowy z jedną zmienną objaśniającą
Najprostszym przypadkiem zastosowania metody najmniejszych kwadratów jest model liniowy z jedną zmienną objaśniającą. Model populacyjny można zapisać następująco:
$$Y_i = \beta_0 + \beta_1X_i + \varepsilon_i$$
gdzie:
$Y_i$ — wartość zmiennej objaśnianej dla $i$-tej obserwacji,
$X_i$ — wartość zmiennej objaśniającej dla $i$-tej obserwacji,
$\beta_0$ — wyraz wolny modelu populacyjnego,
$\beta_1$ — współczynnik kierunkowy modelu populacyjnego,
$\varepsilon_i$ — składnik losowy dla $i$-tej obserwacji.
Na podstawie próby szacujemy model:
$$\hat{Y}_i = \hat{\beta}_0 + \hat{\beta}_1X_i$$
W modelu z jedną zmienną objaśniającą $\hat{\beta}_0$ i $\hat{\beta}_1$ mają bardzo prostą interpretację. Parametr $\hat{\beta}_0$ oznacza przewidywaną wartość zmiennej $Y$, gdy $X = 0$. Parametr $\hat{\beta}_1$ informuje, o ile przeciętnie zmieni się wartość $Y$, gdy $X$ wzrośnie o jedną jednostkę.
Przykładowo, jeżeli oszacowany model sprzedaży ma postać:
$$\hat{Y} = 12000 + 4{,}5X$$
to wzrost wydatków reklamowych o jedną jednostkę wiąże się przeciętnie ze wzrostem przewidywanej sprzedaży o 4,5 jednostki. Trzeba jednak pamiętać, że jest to interpretacja statystyczna, oparta na danych z próby i przyjętym modelu.
Wzory MNK dla modelu z jedną zmienną objaśniającą
Dla prostego modelu liniowego z jedną zmienną objaśniającą oceny parametrów otrzymane metodą najmniejszych kwadratów można obliczyć ze wzorów:
gdzie $\bar{x}$ oznacza średnią arytmetyczną wartości zmiennej $X$, $\bar{y}$ oznacza średnią arytmetyczną wartości zmiennej $Y$, a $n$ oznacza liczbę obserwacji w próbie.
W liczniku wzoru na $\hat{\beta}_1$ znajduje się suma iloczynów odchyleń wartości $X$ i $Y$ od ich średnich. Ta część wzoru pokazuje, czy zmienne zmieniają się w tym samym kierunku, czy w przeciwnych kierunkach. W mianowniku znajduje się suma kwadratów odchyleń zmiennej $X$ od jej średniej, czyli miara zróżnicowania zmiennej objaśniającej.
Wtedy wzór na współczynnik kierunkowy można zapisać krótko:
$$\hat{\beta}_1 = \frac{S_{xy}}{S_{xx}}$$
Macierzowy zapis metody najmniejszych kwadratów
W modelach z wieloma zmiennymi objaśniającymi wygodniejszy i bardziej uniwersalny jest zapis macierzowy. Klasyczny liniowy model ekonometryczny można zapisać następująco:
Jest to jeden z najważniejszych wzorów w klasycznej ekonometrii. Zapis macierzowy pokazuje, że ta sama metoda działa zarówno dla modelu z jedną zmienną objaśniającą, jak i dla modelu z wieloma zmiennymi. Warunkiem jest między innymi to, aby macierz $\mathbf{X}'\mathbf{X}$ była odwracalna, czyli aby zmienne objaśniające nie były dokładnie liniowo zależne.
Reszty modelu i suma kwadratów reszt
Po oszacowaniu modelu możemy obliczyć wartości teoretyczne:
Metoda najmniejszych kwadratów wybiera takie $\hat{\boldsymbol{\beta}}$, dla którego wartość $\mathbf{e}'\mathbf{e}$ jest najmniejsza. Innymi słowy, spośród wszystkich możliwych prostych, płaszczyzn lub hiperpłaszczyzn regresji wybieramy tę, która minimalizuje sumę kwadratów reszt.
Odchylenie standardowe reszt i współczynnik zmienności reszt
Sama suma kwadratów reszt zależy od skali zmiennej objaśnianej oraz od liczby obserwacji, dlatego często wykorzystuje się także odchylenie standardowe reszt, nazywane również standardowym błędem reszt lub standardowym błędem regresji.
Jeżeli model zawiera $p$ szacowanych parametrów, gdzie przy $k$ zmiennych objaśniających i wyrazie wolnym mamy $p = k + 1$, to estymator wariancji składnika losowego zapisujemy jako:
Odchylenie standardowe reszt informuje, o ile przeciętnie wartości rzeczywiste odchylają się od wartości teoretycznych wyznaczonych przez model. Im mniejsza wartość $s_e$, tym przeciętnie mniejsze błędy dopasowania modelu.
Czasami wykorzystuje się również współczynnik zmienności reszt, który odnosi odchylenie standardowe reszt do średniej wartości zmiennej objaśnianej:
$$V_e = \frac{s_e}{\bar{y}} \cdot 100\%$$
Jeżeli średnia $\bar{y}$ jest dodatnia i sensowna interpretacyjnie, współczynnik ten pokazuje, jak duży jest typowy błąd modelu w relacji do przeciętnego poziomu zmiennej objaśnianej. W praktyce trzeba jednak uważać, gdy średnia zmiennej $Y$ jest bliska zeru albo gdy zmienna przyjmuje wartości ujemne.
Współczynnik determinacji R²
Jedną z najpopularniejszych miar dopasowania modelu liniowego jest współczynnik determinacji, oznaczany jako $R^2$. Informuje on, jaka część zmienności zmiennej objaśnianej została wyjaśniona przez model.
Całkowitą sumę kwadratów odchyleń zmiennej $Y$ od jej średniej zapisujemy jako:
$$SST = \sum_{i=1}^{n}(y_i - \bar{y})^2$$
Suma kwadratów reszt wynosi:
$$SSE = \sum_{i=1}^{n}(y_i - \hat{y}_i)^2$$
Współczynnik determinacji można zapisać jako:
$$R^2 = 1 - \frac{SSE}{SST}$$
Jeżeli $R^2 = 0{,}80$, to można powiedzieć, że model wyjaśnia 80% zmienności zmiennej objaśnianej w próbie. Pozostałe 20% pozostaje niewyjaśnione przez model i znajduje odzwierciedlenie w resztach.
Należy jednak pamiętać, że wysoki współczynnik determinacji nie oznacza automatycznie, że model jest dobry. Model może być dobrze dopasowany do danych, ale źle wyspecyfikowany, pozbawiony sensownej interpretacji albo oparty na zależnościach przypadkowych. Z tego powodu $R^2$ należy traktować jako jedną z miar dopasowania, a nie jako ostateczny dowód poprawności modelu.
W modelach z wieloma zmiennymi objaśniającymi często stosuje się również skorygowany współczynnik determinacji:
$$\bar{R}^2 = 1 - \frac{SSE/(n-p)}{SST/(n-1)}$$
Skorygowany współczynnik determinacji uwzględnia liczbę parametrów w modelu, dzięki czemu jest bardziej ostrożny przy porównywaniu modeli o różnej liczbie zmiennych objaśniających.
Błędy standardowe oszacowania parametrów
Oceny parametrów $\hat{\beta}_0, \hat{\beta}_1, \ldots, \hat{\beta}_k$ są obliczane na podstawie próby. Gdybyśmy wylosowali inną próbę z tej samej populacji, otrzymalibyśmy zwykle nieco inne oceny parametrów. Oznacza to, że estymatory parametrów są zmiennymi losowymi.
Błąd standardowy oszacowania parametru informuje, jak duża jest przeciętna zmienność estymatora danego parametru. Mówiąc prościej, jest to miara precyzji oszacowania. Mały błąd standardowy oznacza, że dany parametr został oszacowany stosunkowo precyzyjnie. Duży błąd standardowy oznacza większą niepewność oszacowania.
W zapisie macierzowym wariancja estymatora MNK ma postać:
Błędy standardowe są później wykorzystywane przy weryfikacji istotności parametrów, budowie przedziałów ufności i testach statystycznych. Sama szczegółowa weryfikacja modelu jest jednak osobnym zagadnieniem i zostanie omówiona w oddzielnym artykule.
Model z dwiema zmiennymi objaśniającymi
Metoda najmniejszych kwadratów nie ogranicza się do prostej regresji liniowej z jedną zmienną objaśniającą. W modelu z dwiema zmiennymi objaśniającymi zapisujemy:
Geometrycznie nie dopasowujemy już prostej do punktów na płaszczyźnie, lecz płaszczyznę do punktów w przestrzeni trójwymiarowej. Na jednej osi znajduje się zmienna $X_1$, na drugiej zmienna $X_2$, a na trzeciej zmienna $Y$.
Parametr $\hat{\beta}_1$ informuje, jak zmienia się przewidywana wartość $Y$, gdy $X_1$ wzrośnie o jedną jednostkę, przy założeniu, że $X_2$ pozostaje bez zmian. Analogicznie $\hat{\beta}_2$ opisuje wpływ zmiennej $X_2$ przy stałym poziomie $X_1$.
To właśnie sformułowanie „przy pozostałych zmiennych niezmienionych” jest bardzo ważne w modelu wielorakim. Parametr przy danej zmiennej nie opisuje już prostej zależności między dwiema zmiennymi, lecz wpływ jednej zmiennej po uwzględnieniu pozostałych zmiennych w modelu.
Idea MNK dla modelu z dwiema zmiennymi objaśniającymi. Metoda najmniejszych kwadratów dopasowuje do danych płaszczyznę regresji
Założenia Gaussa-Markowa
Metoda najmniejszych kwadratów ma bardzo dobre własności, ale pod pewnymi warunkami. Warunki te są znane jako założenia Gaussa-Markowa. W różnych podręcznikach mogą być formułowane nieco inaczej, ale ich sens jest podobny.
Najważniejsze założenia klasycznego modelu liniowego można przedstawić następująco.
Nie oznacza to, że wszystkie zmienne muszą występować wyłącznie w pierwszej potędze. Można stosować na przykład $X^2$, $\ln X$ albo inne przekształcenia zmiennych, o ile model pozostaje liniowy względem parametrów $\beta_0, \beta_1, \ldots, \beta_k$.
2. Brak dokładnej współliniowości zmiennych objaśniających
Zmienne objaśniające nie mogą być dokładnie liniowo zależne. Innymi słowy, żadna zmienna objaśniająca nie powinna być dokładną kombinacją liniową pozostałych zmiennych.
Gdyby taka zależność wystąpiła, macierz $\mathbf{X}'\mathbf{X}$ nie byłaby odwracalna, a wzór:
nie mógłby zostać zastosowany w standardowej postaci. W praktyce problemem bywa także bardzo silna, choć nie idealna współliniowość, ponieważ prowadzi do dużych błędów standardowych parametrów i trudności interpretacyjnych.
3. Egzogeniczność zmiennych objaśniających
Jedno z najważniejszych założeń mówi, że składnik losowy ma wartość oczekiwaną równą zero przy danych wartościach zmiennych objaśniających:
$$E(\varepsilon_i \mid \mathbf{X}) = 0$$
Intuicyjnie oznacza to, że zmienne objaśniające nie powinny być powiązane z tym, co zostało ukryte w składniku losowym. Jeżeli istotny czynnik został pominięty w modelu i jednocześnie jest skorelowany z jedną ze zmiennych objaśniających, oszacowania parametrów mogą być obciążone.
Przykładowo, jeżeli badamy wpływ wykształcenia na wynagrodzenie, ale pomijamy doświadczenie zawodowe, a doświadczenie jest powiązane z poziomem wykształcenia, to część wpływu doświadczenia może błędnie zostać przypisana wykształceniu.
4. Stała wariancja składnika losowego, czyli homoskedastyczność
Założenie homoskedastyczności oznacza, że wariancja składnika losowego jest stała dla wszystkich obserwacji:
$$Var(\varepsilon_i \mid \mathbf{X}) = \sigma^2$$
Jeżeli wariancja składnika losowego zmienia się w zależności od poziomu zmiennych objaśniających, mówimy o heteroskedastyczności. Przykładowo, przy modelowaniu wydatków gospodarstw domowych błędy modelu mogą być większe dla gospodarstw o wysokich dochodach niż dla gospodarstw o niskich dochodach.
Heteroskedastyczność nie musi powodować obciążenia samych ocen parametrów MNK, ale wpływa na błędy standardowe, a więc również na testy istotności i przedziały ufności. Dlatego jest ważnym problemem przy weryfikacji modelu.
5. Brak autokorelacji składnika losowego
Założenie braku autokorelacji oznacza, że składniki losowe dla różnych obserwacji nie są ze sobą skorelowane:
Autokorelacja pojawia się szczególnie często w szeregach czasowych. Oznacza sytuację, w której błąd z jednego okresu jest powiązany z błędem z innego okresu. Przykładowo, jeżeli model systematycznie niedoszacowuje sprzedaż w jednym miesiącu, może również niedoszacowywać ją w kolejnym miesiącu.
Autokorelacja jest problemem, ponieważ narusza klasyczne założenia dotyczące składnika losowego i może prowadzić do błędnych wniosków statystycznych. Podobnie jak heteroskedastyczność, jest szczegółowo analizowana na etapie weryfikacji modelu.
6. Zmienne objaśniające jako nielosowe albo traktowane warunkowo
W klasycznym ujęciu często zakłada się, że zmienne objaśniające są nielosowe, czyli ich wartości są ustalone w powtarzalnych próbach. W bardziej współczesnym ujęciu dopuszcza się losowość zmiennych objaśniających, ale analizę prowadzi się warunkowo względem zaobserwowanej macierzy $\mathbf{X}$.
Dla praktycznej interpretacji najważniejsze jest to, aby zmienne objaśniające nie były powiązane ze składnikiem losowym w sposób naruszający założenie egzogeniczności. Jeżeli taka zależność występuje, metoda najmniejszych kwadratów może dawać mylące wyniki.
7. Normalność składnika losowego — założenie dodatkowe
Często przy klasycznym modelu liniowym pojawia się również założenie normalności składnika losowego:
$$\varepsilon_i \sim N(0, \sigma^2)$$
Warto jednak podkreślić, że normalność nie jest konieczna do samego twierdzenia Gaussa-Markowa. Jest natomiast ważna przy dokładnym wnioskowaniu statystycznym w małych próbach, na przykład przy klasycznych testach $t$ i $F$. W dużych próbach wiele procedur opiera się również na wynikach asymptotycznych.
Autokorelacja i heteroskedastyczność na wykresach
Założenia Gaussa-Markowa mogą wydawać się dość abstrakcyjne, dlatego warto zobaczyć je na prostych wykresach. Szczególnie dobrze widać na nich dwa częste problemy: autokorelację reszt oraz heteroskedastyczność.
W dobrze określonym modelu reszty powinny zachowywać się możliwie losowo. Nie powinny tworzyć długich serii wartości dodatnich albo ujemnych, nie powinny też układać się w regularny naprzemienny wzór. Również ich rozrzut powinien być względnie podobny w całym zakresie zmiennych objaśniających.
Brak autokorelacji reszt
Gdy reszty nie wykazują autokorelacji, ich wartości zmieniają się w sposób nieregularny. Nie widzimy długich serii dodatnich lub ujemnych reszt ani wyraźnego mechanicznego wzorca. Taki układ jest pożądany, ponieważ sugeruje, że model nie zostawia w resztach łatwo zauważalnej, uporządkowanej informacji.
Brak autokorelacji — reszty zmieniają się wokół zera bez wyraźnego, uporządkowanego wzorca.
Autokorelacja dodatnia reszt
Autokorelacja dodatnia oznacza, że kolejne reszty mają tendencję do zachowywania tego samego znaku. Dodatnie reszty występują seriami, a potem przez pewien czas mogą dominować reszty ujemne. Można powiedzieć obrazowo, że reszty „niechętnie” zmieniają znak.
Taki układ może pojawić się na przykład wtedy, gdy rzeczywista zależność jest krzywoliniowa, a my na siłę dopasowujemy do niej prostą regresji. Wtedy model w jednych fragmentach systematycznie zawyża wartości, a w innych systematycznie je zaniża. Reszty przestają wyglądać losowo i zaczynają tworzyć uporządkowany wzorzec.
Proponowany podpis: Autokorelacja dodatnia — reszty długo utrzymują ten sam znak, co może wskazywać na uporządkowany wzorzec pozostawiony przez model.
Autokorelacja ujemna reszt
Autokorelacja ujemna występuje wtedy, gdy reszty zbyt często zmieniają znak. Po reszcie dodatniej bardzo często pojawia się reszta ujemna, potem znów dodatnia, potem ujemna i tak dalej. Wykres reszt przyjmuje wtedy charakterystyczny zygzakowaty kształt.
Taki układ również nie jest pożądany, ponieważ reszty nie przypominają losowych odchyleń. Zamiast tego tworzą zbyt regularny, naprzemienny wzorzec. W praktyce może to świadczyć o błędnej specyfikacji modelu, nieodpowiednim uporządkowaniu danych albo o pominięciu istotnej struktury zależności.
Autokorelacja ujemna — reszty zbyt często zmieniają znak, tworząc regularny, naprzemienny układ.
Heteroskedastyczność reszt
Innym częstym problemem jest heteroskedastyczność, czyli zmienna wariancja składnika losowego. W praktyce oznacza to, że rozrzut reszt nie jest jednakowy w całym zakresie obserwacji. Dla małych wartości zmiennej objaśniającej reszty mogą być niewielkie, a dla dużych wartości mogą coraz bardziej się „rozjeżdżać”.
Na wykresie heteroskedastyczność często przypomina lejek: na początku punkty znajdują się blisko prostej regresji, a później ich odległości od prostej stają się coraz większe. Taki układ narusza założenie stałej wariancji składnika losowego i może prowadzić do błędnej oceny precyzji parametrów.
Heteroskedastyczność — wariancja reszt nie jest stała, lecz zmienia się wraz z poziomem zmiennej objaśniającej.
Warto podkreślić, że autokorelacja i heteroskedastyczność nie należą już do samej estymacji parametrów metodą MNK, lecz do późniejszej weryfikacji modelu ekonometrycznego. W tym artykule pokazujemy je tylko intuicyjnie, ponieważ są bezpośrednio związane z założeniami, przy których metoda najmniejszych kwadratów ma najlepsze własności.
Twierdzenie Gaussa-Markowa
Twierdzenie Gaussa-Markowa mówi, że przy spełnieniu odpowiednich założeń klasycznego modelu liniowego estymator MNK jest najlepszym liniowym nieobciążonym estymatorem parametrów modelu.
Po angielsku własność tę określa się skrótem BLUE:
B — Best, czyli najlepszy w sensie najmniejszej wariancji,
L — Linear, czyli liniowy względem obserwacji zmiennej objaśnianej,
U — Unbiased, czyli nieobciążony,
E — Estimator, czyli estymator.
Nieobciążoność oznacza, że wartość oczekiwana estymatora jest równa prawdziwej wartości parametru:
Nie oznacza to, że w konkretnej próbie zawsze otrzymamy dokładnie prawdziwy parametr. Oznacza to raczej, że przy wielokrotnym losowaniu prób i wielokrotnym szacowaniu modelu estymator nie będzie systematycznie zawyżał ani zaniżał wartości parametru.
Określenie „najlepszy” w twierdzeniu Gaussa-Markowa nie oznacza najlepszego w każdym możliwym sensie. Chodzi o klasę estymatorów liniowych i nieobciążonych. W tej klasie estymator MNK ma najmniejszą wariancję, czyli jest najbardziej precyzyjny.
Twierdzenie Gaussa-Markowa jest jednym z powodów, dla których metoda najmniejszych kwadratów odgrywa tak ważną rolę w ekonometrii. Pokazuje ono, że przy spełnieniu określonych założeń MNK ma bardzo dobre własności teoretyczne.
Czego nie obejmuje sama metoda MNK?
Metoda najmniejszych kwadratów jest narzędziem estymacji parametrów. Nie rozwiązuje jednak wszystkich problemów związanych z budową modelu ekonometrycznego. Sama MNK nie odpowiada automatycznie na pytanie, czy wybrane zmienne są właściwe, czy model ma dobrą postać, czy dane są poprawne, czy występuje autokorelacja, heteroskedastyczność albo silna współliniowość.
Nie należy więc traktować MNK jako magicznego sposobu na „odkrycie prawdy” z danych. Jest to bardzo ważna metoda, ale jej wyniki muszą być interpretowane w kontekście założeń modelu, jakości danych oraz sensu merytorycznego badanej zależności.
Po oszacowaniu modelu konieczna jest jego weryfikacja. Sprawdza się między innymi istotność parametrów, dopasowanie modelu, własności reszt, zgodność znaków parametrów z teorią oraz ewentualne naruszenia założeń klasycznego modelu liniowego. Te zagadnienia wymagają osobnego omówienia.
Podsumowanie
Metoda najmniejszych kwadratów jest podstawową metodą estymacji parametrów liniowego modelu ekonometrycznego. Polega na takim dobraniu ocen parametrów, aby suma kwadratów reszt, czyli różnic między wartościami rzeczywistymi i teoretycznymi, była jak najmniejsza.
Najważniejsza idea polega na tym, że prawdziwych parametrów populacyjnego modelu zwykle nie znamy. Na podstawie próby wyznaczamy jedynie ich oszacowania. Dlatego symbole $\hat{\beta}_0, \hat{\beta}_1, \ldots, \hat{\beta}_k$ oznaczają oceny parametrów, a nie same parametry strukturalne modelu populacyjnego.
W modelu z jedną zmienną objaśniającą metoda najmniejszych kwadratów pozwala dopasować prostą regresji do chmury punktów. W modelu z dwiema zmiennymi dopasowywana jest płaszczyzna, a w modelu z większą liczbą zmiennych — hiperpłaszczyzna regresji. Uniwersalny zapis macierzowy metody ma postać:
Metoda MNK jest szczególnie ważna ze względu na twierdzenie Gaussa-Markowa. Przy spełnieniu odpowiednich założeń estymator MNK jest najlepszym liniowym nieobciążonym estymatorem parametrów modelu. Nie oznacza to jednak, że każdy model oszacowany metodą MNK jest automatycznie dobry. Konieczna jest także weryfikacja modelu, ocena założeń oraz interpretacja wyników w świetle wiedzy merytorycznej.
W kolejnym artykule można przejść do zagadnień związanych z weryfikacją modelu ekonometrycznego, czyli między innymi oceną istotności parametrów, analizą reszt, testowaniem autokorelacji, heteroskedastyczności oraz sprawdzaniem jakości dopasowania modelu.
Sebastian Dziarmaga-Działyński
Utworzono: 16.05.2026 | Zmodyfikowano: 18.05.2026
Weryfikacja modelu ekonometrycznego
Mgr inż.
Sebastian Dziarmaga-Działyński
Wirtualna kancelaria korepetytorska i konsultacyjna – wszechwiedza.pl
Wprowadzenie
Oszacowanie parametrów modelu ekonometrycznego metodą najmniejszych kwadratów nie kończy pracy nad modelem. Otrzymanie równania regresji jest dopiero jednym z etapów analizy. Kolejnym krokiem jest weryfikacja modelu ekonometrycznego, czyli sprawdzenie, czy model jest statystycznie poprawny, czy jego parametry są istotne, czy reszty zachowują się zgodnie z założeniami oraz czy model można bezpiecznie wykorzystać do interpretacji, prognozowania lub symulacji.
W praktyce model może wyglądać atrakcyjnie na pierwszy rzut oka: mieć wysoki współczynnik determinacji, sensowne znaki parametrów i dobrze dopasowaną linię regresji. Mimo to może naruszać ważne założenia klasycznego modelu liniowego, na przykład mieć autokorelację reszt, heteroskedastyczność, błędną postać funkcyjną albo nieistotne statystycznie parametry. Dlatego sama estymacja modelu nie wystarcza.
W tym artykule omawiamy najważniejsze elementy weryfikacji modelu ekonometrycznego: testy istotności parametrów, testy łącznej istotności, testy Walda, testy normalności reszt, testy autokorelacji, testy heteroskedastyczności oraz wybrane testy poprawności specyfikacji modelu. Szczególną uwagę zwracamy na praktyczną interpretację hipotez zerowych i alternatywnych.
Weryfikacja modelu ekonometrycznego polega na sprawdzeniu, czy model oszacowany na podstawie danych empirycznych spełnia określone kryteria statystyczne i merytoryczne. Nie chodzi wyłącznie o to, czy model dobrze dopasowuje się do danych, ale także o to, czy uzyskane wyniki można uznać za wiarygodne.
W artykule dotyczącym metody najmniejszych kwadratów omawialiśmy sposób estymacji parametrów modelu. Metoda MNK pozwala obliczyć oceny parametrów, czyli wartości $\hat{\beta}_0, \hat{\beta}_1, \ldots, \hat{\beta}_k$. Weryfikacja modelu odpowiada natomiast na pytania: czy te parametry są istotne, czy model jako całość ma sens, czy reszty zachowują się prawidłowo i czy nie naruszono ważnych założeń.
Typowa weryfikacja modelu obejmuje między innymi:
ocenę istotności pojedynczych parametrów,
ocenę łącznej istotności grupy parametrów,
badanie dopasowania modelu do danych,
analizę reszt modelu,
testowanie normalności rozkładu reszt,
testowanie autokorelacji reszt,
testowanie heteroskedastyczności,
sprawdzanie poprawności specyfikacji modelu.
Nie każdy model musi przejść wszystkie możliwe testy. Zakres diagnostyki zależy od rodzaju danych, celu badania, liczby obserwacji oraz typu modelu. Inaczej weryfikuje się model przekrojowy, inaczej model oparty na szeregu czasowym, a jeszcze inaczej model panelowy.
Dwie grupy testów: istotność i diagnostyka
Testy stosowane przy weryfikacji modelu ekonometrycznego można podzielić na dwie duże grupy.
Pierwsza grupa to testy istotności parametrów. Ich zadaniem jest sprawdzenie, czy dana zmienna objaśniająca rzeczywiście wnosi istotną informację do modelu. Do tej grupy należą przede wszystkim test t-Studenta, test F oraz testy liniowych ograniczeń, często opisywane jako testy Walda.
Druga grupa to testy diagnostyczne, które sprawdzają własności reszt i założenia modelu. Należą do nich między innymi testy normalności, testy autokorelacji, testy heteroskedastyczności oraz testy poprawności specyfikacji.
To rozróżnienie jest bardzo ważne, ponieważ w tych dwóch grupach testów inaczej interpretujemy hipotezy. W testach istotności parametrów odrzucenie hipotezy zerowej jest zwykle korzystne dla modelu. W testach diagnostycznych jest najczęściej odwrotnie: odrzucenie hipotezy zerowej oznacza wykrycie problemu.
Korzystne i niekorzystne hipotezy w testach
Przy interpretacji testów w ekonometrii bardzo pomocna jest prosta zasada pamięciowa.
W testach istotności parametrów hipoteza zerowa jest zwykle niekorzystna dla modelu, ponieważ mówi, że parametr jest równy zero, a więc dana zmienna nie ma istotnego wpływu na zmienną objaśnianą. Odrzucenie hipotezy zerowej jest wtedy korzystne, bo oznacza, że parametr można uznać za istotny statystycznie.
Przykładowo w teście istotności parametru mamy najczęściej:
$$H_0: \beta_j = 0$$
$$H_1: \beta_j \neq 0$$
Jeżeli odrzucamy $H_0$, to stwierdzamy, że parametr jest istotny statystycznie. Jest to zwykle korzystne dla modelu.
W testach diagnostycznych hipoteza zerowa jest najczęściej korzystna dla modelu. Mówi na przykład, że nie ma autokorelacji, nie ma heteroskedastyczności, rozkład reszt jest normalny albo model jest poprawnie wyspecyfikowany. Odrzucenie hipotezy zerowej oznacza wtedy wykrycie problemu.
Przykładowo w teście heteroskedastyczności hipotezy mogą mieć postać:
$$H_0: \text{występuje homoskedastyczność}$$
$$H_1: \text{występuje heteroskedastyczność}$$
W tym przypadku brak podstaw do odrzucenia $H_0$ jest korzystny dla modelu, natomiast odrzucenie $H_0$ oznacza problem z wariancją składnika losowego.
Dwie metody podejmowania decyzji: wartość krytyczna i p-value
Wynik testu statystycznego można interpretować na dwa równoważne sposoby.
Pierwszy sposób polega na porównaniu wartości statystyki testowej z wartością krytyczną odczytaną z odpowiedniego rozkładu. Jest to klasyczne podejście często stosowane przy obliczeniach wykonywanych „na piechotę”, w podręcznikach albo w arkuszu kalkulacyjnym. Przykładowo obliczamy wartość statystyki $t$, $F$ albo $DW$, a następnie porównujemy ją z wartością krytyczną dla przyjętego poziomu istotności.
Drugi sposób polega na wykorzystaniu wartości p-value, którą zwracają typowe pakiety statystyczne i ekonometryczne. W wielu przypadkach p-value można obliczyć również w Excelu, na przykład dla testu t albo testu F. Reguła decyzyjna jest następująca:
Oba podejścia prowadzą do tej samej decyzji, o ile stosujemy ten sam poziom istotności i właściwy rozkład statystyki testowej. Różnica polega głównie na sposobie prezentacji wyniku: wartości krytyczne pokazują granicę obszaru odrzucenia, a p-value pokazuje, jak silne są dane przeciwko hipotezie zerowej.
Najczęściej przyjmuje się poziom istotności $\alpha = 0{,}05$, choć w niektórych zastosowaniach stosuje się również poziomy 0,01 lub 0,10.
Test istotności pojedynczego parametru — test t-Studenta
Jednym z podstawowych testów weryfikacji modelu ekonometrycznego jest test istotności pojedynczego parametru, oparty na statystyce t-Studenta. Służy on do sprawdzenia, czy wybrany parametr modelu można uznać za istotnie różny od zera.
Dla parametru $\beta_j$ formułujemy najczęściej hipotezy:
W najczęściej spotykanym przypadku testujemy równość parametru zero, czyli $\beta_{j0}=0$. Wtedy:
$$t = \frac{\hat{\beta}_j}{SE(\hat{\beta}_j)}$$
gdzie $SE(\hat{\beta}_j)$ oznacza błąd standardowy oszacowania parametru. Im większa wartość bezwzględna statystyki $t$, tym silniejsze podstawy do odrzucenia hipotezy zerowej.
W praktyce najczęściej korzysta się z wartości p-value. Jeżeli p-value jest mniejsze od przyjętego poziomu istotności, na przykład $\alpha = 0{,}05$, odrzucamy hipotezę zerową i uznajemy parametr za istotny statystycznie.
W tym teście odrzucenie hipotezy zerowej jest zwykle korzystne dla modelu. Oznacza bowiem, że dana zmienna objaśniająca ma statystycznie istotny związek ze zmienną objaśnianą, przy założeniu pozostałych elementów modelu.
Test łącznej istotności parametrów — test F
Test t-Studenta bada istotność jednego parametru. Często chcemy jednak sprawdzić, czy model jako całość jest istotny, czyli czy zmienne objaśniające jako grupa wnoszą istotną informację do modelu. Do tego służy test F, nazywany często testem łącznej istotności modelu.
W klasycznym teście łącznej istotności modelu sprawdzamy, czy wszystkie parametry stojące przy zmiennych objaśniających, z wyjątkiem wyrazu wolnego, są jednocześnie równe zero:
$$H_0: \beta_1 = \beta_2 = \ldots = \beta_k = 0$$
$$H_1: \text{co najmniej jeden z parametrów } \beta_1, \ldots, \beta_k \text{ jest różny od zera}$$
Wyraz wolny $\beta_0$ nie jest w tym teście objęty hipotezą zerową. Test dotyczy więc tego, czy zmienne objaśniające jako grupa wyjaśniają zmienność zmiennej objaśnianej.
Hipoteza zerowa jest tutaj niekorzystna dla modelu, ponieważ oznacza, że żadna ze zmiennych objaśniających nie ma istotnego wpływu na zmienną objaśnianą. Odrzucenie hipotezy zerowej jest korzystne, ponieważ oznacza, że model jako całość jest istotny statystycznie.
Jedna z postaci statystyki F, przy testowaniu istotności całego modelu, może być zapisana jako:
$$F = \frac{R^2/k}{(1-R^2)/(n-k-1)}$$
gdzie $R^2$ oznacza współczynnik determinacji, $k$ liczbę zmiennych objaśniających, a $n$ liczbę obserwacji. W bardziej ogólnym ujęciu test F można zapisać przez porównanie modelu pełnego i modelu z ograniczeniami.
Jeżeli p-value dla testu F jest mniejsze od przyjętego poziomu istotności, odrzucamy hipotezę zerową i uznajemy, że model jako całość jest istotny statystycznie.
W szczególnym przypadku modelu z jedną zmienną objaśniającą i wyrazem wolnym test t-Studenta dla parametru kierunkowego oraz test F łącznej istotności modelu prowadzą do tych samych wniosków. Zachodzi wtedy zależność:
$$F = t^2$$
Oznacza to, że jeżeli parametr przy jedynej zmiennej objaśniającej jest istotny w teście t, to model będzie również istotny w teście F. Analogicznie brak istotności w teście t będzie zgodny z wynikiem testu F.
Test F a test Walda
Warto doprecyzować relację między testem F a testem Walda, ponieważ w różnych podręcznikach, programach i tradycjach wykładu nazwy te bywają używane nieco inaczej.
W klasycznym modelu liniowym test F łącznej istotności parametrów można interpretować jako szczególny przypadek testu Walda dla liniowych ograniczeń na parametry. Innymi słowy, gdy testujemy hipotezę:
$$H_0: \beta_1 = \beta_2 = \ldots = \beta_k = 0$$
to w istocie testujemy zestaw liniowych ograniczeń nałożonych na wektor parametrów. W klasycznej regresji liniowej taki test jest zwykle prezentowany jako test F.
Z formalnego punktu widzenia test Walda jest procedurą bardziej ogólną, natomiast test F w klasycznym modelu liniowym jest jedną z jego szczególnych postaci, zapisaną przy użyciu statystyki mającej rozkład F przy spełnieniu odpowiednich założeń.
Dlatego w praktyce można spotkać różne określenia: test F, test Walda, test liniowych ograniczeń albo test łącznej istotności. Nie zawsze oznaczają one dokładnie ten sam poziom ogólności, ale w typowym zastosowaniu regresji liniowej test F łącznej istotności zmiennych objaśniających jest szczególnym przypadkiem testu Walda.
Uogólniony test Walda
Uogólniony test Walda pozwala testować nie tylko hipotezę o łącznej nieistotności wszystkich zmiennych objaśniających, ale również hipotezy dotyczące dowolnie wybranego podzbioru parametrów albo innych liniowych kombinacji parametrów.
Ogólna postać hipotezy zerowej w teście Walda może być zapisana jako:
$$H_0: R\boldsymbol{\beta} = \mathbf{r}$$
gdzie $R$ jest macierzą ograniczeń, $\boldsymbol{\beta}$ wektorem parametrów, a $\mathbf{r}$ wektorem wartości, do których porównujemy odpowiednie kombinacje parametrów.
Dzięki takiemu zapisowi można testować na przykład:
czy pojedynczy parametr jest równy zero,
czy kilka wybranych parametrów jest jednocześnie równych zero,
czy dwa parametry są sobie równe,
czy suma kilku parametrów przyjmuje określoną wartość.
Przykładowo, jeżeli model ma pięć zmiennych objaśniających, możemy chcieć sprawdzić, czy trzy wybrane zmienne są łącznie nieistotne. Wtedy formułujemy hipotezę:
$$H_0: \beta_2 = \beta_3 = \beta_5 = 0$$
$$H_1: \text{co najmniej jeden z tych parametrów jest różny od zera}$$
W takim przypadku sprawdzamy, czy wybrane trzy zmienne są łącznie nieistotne, nawet jeśli w modelu występują także inne zmienne objaśniające. Jest to bardzo przydatne, gdy zmienne tworzą pewien blok merytoryczny, na przykład grupę zmiennych sezonowych, regionalnych albo finansowych.
Podobnie jak w teście F łącznej istotności modelu, hipoteza zerowa jest tutaj zwykle niekorzystna dla badanego zestawu zmiennych. Jeżeli ją odrzucamy, oznacza to, że wybrany podzbiór parametrów jest łącznie istotny statystycznie.
Współliniowość zmiennych objaśniających
Oprócz istotności parametrów i własności reszt warto sprawdzić także, czy w modelu nie występuje problem współliniowości zmiennych objaśniających. Współliniowość oznacza, że jedna lub kilka zmiennych objaśniających jest silnie powiązana z innymi zmiennymi objaśniającymi.
Jeżeli zależność między zmiennymi objaśniającymi jest dokładna, mówimy o dokładnej współliniowości. W takim przypadku klasyczny model MNK nie może zostać oszacowany w standardowy sposób, ponieważ macierz $\mathbf{X}'\mathbf{X}$ nie jest odwracalna. W praktyce częściej spotykamy jednak silną, ale niedokładną współliniowość. Model da się wtedy oszacować, ale wyniki mogą być niestabilne i trudne do interpretacji.
Silna współliniowość może powodować kilka problemów. Przede wszystkim rosną błędy standardowe oszacowania parametrów, przez co pojedyncze zmienne mogą okazać się statystycznie nieistotne, mimo że model jako całość ma wysokie dopasowanie. Parametry mogą też zmieniać znaki po dodaniu lub usunięciu innych zmiennych, a ich interpretacja staje się mniej wiarygodna.
Typowym objawem współliniowości jest sytuacja, w której test F wskazuje, że model jako całość jest istotny, ale testy t-Studenta dla poszczególnych parametrów nie wykazują istotności wielu zmiennych. Może to oznaczać, że zmienne objaśniające wspólnie wyjaśniają zmienną $Y$, ale trudno oddzielić indywidualny wpływ każdej z nich.
Współliniowość nie jest naruszeniem założeń dotyczących samego składnika losowego, tak jak autokorelacja czy heteroskedastyczność. Jest jednak poważnym problemem diagnostycznym, ponieważ wpływa na precyzję estymacji i stabilność interpretacji parametrów.
Jedną z najczęściej stosowanych miar współliniowości jest VIF, czyli variance inflation factor, po polsku współczynnik inflacji wariancji. Pokazuje on, jak bardzo wariancja estymatora danego parametru została zwiększona z powodu powiązania danej zmiennej z pozostałymi zmiennymi objaśniającymi.
Dla zmiennej $X_j$ współczynnik VIF oblicza się według wzoru:
$$VIF_j = \frac{1}{1 - R_j^2}$$
gdzie $R_j^2$ oznacza współczynnik determinacji z regresji pomocniczej, w której zmienna $X_j$ jest objaśniana przez wszystkie pozostałe zmienne objaśniające występujące w modelu.
Jeżeli zmienna $X_j$ jest słabo powiązana z pozostałymi zmiennymi, wartość $R_j^2$ jest niska, a $VIF_j$ jest bliski 1. Jeżeli natomiast zmienna $X_j$ jest bardzo dobrze wyjaśniana przez pozostałe zmienne, wartość $R_j^2$ zbliża się do 1, a VIF gwałtownie rośnie.
Orientacyjnie przyjmuje się często, że:
$VIF \approx 1$ — brak istotnego problemu współliniowości,
$VIF > 5$ — możliwy problem współliniowości, wymagający uwagi,
$VIF > 10$ — silna współliniowość, która może poważnie utrudniać interpretację modelu.
Nie są to jednak granice absolutne. W niektórych zastosowaniach nawet VIF większy od 5 może być problemem, a w innych modelach wyższa wartość może być akceptowalna, jeżeli zmienna jest merytorycznie konieczna. Dlatego VIF należy traktować jako sygnał diagnostyczny, a nie automatyczną regułę usuwania zmiennych.
Jeżeli współliniowość jest poważna, można rozważyć usunięcie jednej z silnie powiązanych zmiennych, połączenie kilku zmiennych w jeden wskaźnik, zmianę specyfikacji modelu albo pozostawienie zmiennej mimo wysokiego VIF, jeżeli jest niezbędna z punktu widzenia teorii i celu badania.
Badanie normalności reszt
Jednym z klasycznych elementów diagnostyki modelu jest badanie normalności rozkładu reszt. W modelu liniowym często zakłada się, że składnik losowy ma rozkład normalny:
$$\varepsilon_i \sim N(0,\sigma^2)$$
Warto jednak podkreślić, że normalność składnika losowego nie jest konieczna do samej estymacji parametrów metodą najmniejszych kwadratów ani do twierdzenia Gaussa-Markowa. Twierdzenie Gaussa-Markowa wymaga przede wszystkim liniowości, egzogeniczności, braku dokładnej współliniowości, homoskedastyczności i braku autokorelacji.
Normalność jest natomiast szczególnie ważna dla klasycznego wnioskowania statystycznego w małych próbach. Jeżeli reszty mocno odbiegają od normalności, to testy t i F mogą być mniej wiarygodne, zwłaszcza przy niewielkiej liczbie obserwacji.
W dużych próbach problem braku normalności bywa mniej dotkliwy, ponieważ wiele procedur opiera się na własnościach asymptotycznych. Nie oznacza to jednak, że można całkowicie ignorować rozkład reszt. Silna asymetria, bardzo grube ogony albo obserwacje odstające mogą wskazywać na błędną specyfikację modelu, nietypowe obserwacje albo potrzebę przekształcenia zmiennych.
Test Jarque’a-Bery
Jednym z najczęściej stosowanych testów normalności reszt w ekonometrii jest test Jarque’a-Bery. W polskiej wymowie i zapisie potocznym można spotkać różne formy tej nazwy, ale poprawnie chodzi o test Jarque’a-Bery.
Test ten opiera się na skośności i kurtozie rozkładu. W rozkładzie normalnym skośność powinna wynosić 0, a kurtoza 3. Jeżeli rozkład reszt jest silnie asymetryczny albo ma zbyt ciężkie ogony, statystyka testowa przyjmuje większe wartości.
Hipotezy testu są następujące:
$$H_0: \text{reszty mają rozkład normalny}$$
$$H_1: \text{reszty nie mają rozkładu normalnego}$$
W tym przypadku hipoteza zerowa jest korzystna dla modelu. Jeżeli p-value jest małe, odrzucamy hipotezę normalności, co może wskazywać na problem z rozkładem reszt.
Test Jarque’a-Bery jest bardzo popularny w programach ekonometrycznych, takich jak Gretl, EViews czy inne pakiety statystyczne. Warto jednak pamiętać, że w małych próbach jego wyniki mogą być mniej stabilne, dlatego czasem stosuje się również inne testy normalności.
Test Shapiro-Wilka
Test Shapiro-Wilka jest kolejnym popularnym testem normalności. Bardzo często stosuje się go w statystyce, zwłaszcza przy mniejszych próbach. W wielu zastosowaniach jest uznawany za test o dobrej mocy dla niewielkich liczebności próby.
Hipotezy testu są analogiczne:
$$H_0: \text{badana zmienna ma rozkład normalny}$$
$$H_1: \text{badana zmienna nie ma rozkładu normalnego}$$
W kontekście modelu ekonometrycznego badaną zmienną są zwykle reszty modelu. Jeżeli odrzucamy hipotezę zerową, uznajemy, że rozkład reszt istotnie odbiega od normalnego.
Test Shapiro-Wilka jest szczególnie przydatny wtedy, gdy liczba obserwacji jest niewielka. Warto jednak pamiętać, że przy bardzo dużych próbach testy normalności mogą wykrywać nawet drobne odchylenia od normalności, które nie zawsze mają duże znaczenie praktyczne.
Szczegółowe omówienie testów normalności, w tym testu Shapiro-Wilka, warto potraktować jako osobny temat z pogranicza statystyki i ekonometrii. W przyszłości można poświęcić mu oddzielny artykuł w dziale statystyki.
Autokorelacja reszt
Autokorelacja reszt oznacza zależność między kolejnymi resztami modelu. Problem ten pojawia się szczególnie często w szeregach czasowych, gdzie obserwacje mają naturalną kolejność chronologiczną.
Jeżeli reszta z jednego okresu jest powiązana z resztą z okresu następnego, oznacza to, że model nie uchwycił całej struktury zależności w danych. Reszty nie są wtedy czysto losowe, lecz zawierają pewien uporządkowany wzorzec.
Autokorelacja dodatnia występuje wtedy, gdy dodatnie reszty mają tendencję do występowania po dodatnich, a ujemne po ujemnych. Reszty długo utrzymują ten sam znak. Autokorelacja ujemna oznacza z kolei, że reszty zbyt często zmieniają znak, tworząc naprzemienny układ dodatni-ujemny-dodatni-ujemny.
Autokorelacja narusza założenia klasycznego modelu liniowego. Może powodować, że błędy standardowe parametrów są błędnie oszacowane, a testy istotności stają się niewiarygodne. Same oceny parametrów MNK mogą pozostać nieobciążone przy spełnieniu innych założeń, ale przestają być efektywne, czyli nie mają najmniejszej wariancji w klasie estymatorów liniowych nieobciążonych.
Test Durbina-Watsona
Najbardziej znanym testem autokorelacji pierwszego rzędu jest test Durbina-Watsona. Służy on do wykrywania zależności między resztą z danego okresu a resztą z okresu poprzedniego.
Wartość statystyki $DW$ mieści się w przybliżeniu w przedziale od 0 do 4. Interpretacja orientacyjna jest następująca:
$DW \approx 2$ — brak autokorelacji pierwszego rzędu,
$DW < 2$ — podejrzenie autokorelacji dodatniej,
$DW > 2$ — podejrzenie autokorelacji ujemnej.
Formalna interpretacja testu opiera się na dolnej i górnej wartości krytycznej, oznaczanych zwykle jako $d_L$ i $d_U$. Dla testu dwustronnego można wyróżnić kilka obszarów decyzyjnych:
jeżeli $DW < d_L$, odrzucamy hipotezę braku autokorelacji na rzecz autokorelacji dodatniej,
jeżeli $d_L < DW < d_U$, wynik jest niejednoznaczny,
jeżeli $d_U < DW < 4-d_U$, brak podstaw do odrzucenia hipotezy o braku autokorelacji,
jeżeli $4-d_U < DW < 4-d_L$, wynik jest niejednoznaczny,
jeżeli $DW > 4-d_L$, odrzucamy hipotezę braku autokorelacji na rzecz autokorelacji ujemnej.
Często stosuje się również podejście jednostronne. Jeżeli z wykresu reszt albo z oszacowanego współczynnika autokorelacji wynika, że podejrzewamy autokorelację dodatnią, testujemy głównie tę alternatywę. Jeżeli podejrzewamy autokorelację ujemną, odpowiednio zmienia się kierunek testowania.
Test Durbina-Watsona ma jednak ograniczenia. Przede wszystkim dotyczy autokorelacji pierwszego rzędu i nie powinien być stosowany w standardowej postaci, gdy wśród zmiennych objaśniających występuje opóźniona zmienna objaśniana, na przykład $Y_{t-1}$. W takich sytuacjach stosuje się inne testy, na przykład test h Durbina albo test Breuscha-Godfreya.
Test Breuscha-Godfreya
Test Breuscha-Godfreya jest bardziej ogólnym testem autokorelacji niż test Durbina-Watsona. W praktyce jest często stosowany w programach ekonometrycznych, między innymi w Gretlu. Pozwala badać autokorelację wyższego rzędu, czyli zależność reszt nie tylko od jednej poprzedniej reszty, ale również od kilku wcześniejszych.
Hipotezy testu można zapisać następująco:
$$H_0: \text{brak autokorelacji reszt do rzędu } p$$
$$H_1: \text{występuje autokorelacja reszt do rzędu } p$$
Hipoteza zerowa jest korzystna dla modelu. Odrzucenie hipotezy zerowej oznacza, że reszty wykazują autokorelację.
Idea testu polega na oszacowaniu pomocniczej regresji, w której reszty z modelu wyjściowego są objaśniane przez pierwotne zmienne objaśniające oraz opóźnione reszty. Jeżeli opóźnione reszty są łącznie istotne, oznacza to występowanie autokorelacji.
Test Breuscha-Godfreya jest bardziej elastyczny niż test Durbina-Watsona i może być stosowany w wielu sytuacjach, w których test Durbina-Watsona nie jest odpowiedni. Dlatego w praktycznej diagnostyce modeli szeregów czasowych jest bardzo ważnym narzędziem.
Test h Durbina
Test h Durbina stosuje się w modelach, w których jedną ze zmiennych objaśniających jest opóźniona zmienna objaśniana, na przykład:
W takich modelach klasyczny test Durbina-Watsona nie jest właściwy, ponieważ obecność $Y_{t-1}$ po stronie zmiennych objaśniających zaburza jego standardową interpretację.
Hipotezy są podobne jak w innych testach autokorelacji:
$$H_0: \text{brak autokorelacji składnika losowego pierwszego rzędu}$$
$$H_1: \text{występuje autokorelacja składnika losowego pierwszego rzędu}$$
W praktyce współcześnie często zamiast testu h Durbina stosuje się bardziej ogólne procedury, takie jak test Breuscha-Godfreya. Warto jednak znać test h Durbina, ponieważ pojawia się w klasycznych podręcznikach ekonometrii i bywa omawiany przy modelach dynamicznych.
Heteroskedastyczność reszt
Heteroskedastyczność oznacza brak stałej wariancji składnika losowego. W klasycznym modelu liniowym zakłada się homoskedastyczność, czyli:
$$Var(\varepsilon_i \mid X) = \sigma^2$$
Jeżeli wariancja składnika losowego zmienia się w zależności od wartości zmiennych objaśniających, czasu, wielkości jednostki albo innego czynnika, występuje heteroskedastyczność.
Na wykresie heteroskedastyczność często widać jako zmieniający się rozrzut reszt. Dla jednych obserwacji reszty są małe i skupione blisko zera, a dla innych zaczynają się coraz bardziej oddalać od zera. Typowy obraz przypomina lejek albo wachlarz.
Heteroskedastyczność jest szczególnie częsta w danych przekrojowych. Przykładowo, przy modelowaniu wydatków gospodarstw domowych wariancja błędów może być większa dla gospodarstw o wysokich dochodach niż dla gospodarstw o niskich dochodach. W szeregach czasowych zmienność może z kolei rosnąć wraz z czasem albo zmieniać się w okresach kryzysów.
Problem heteroskedastyczności polega przede wszystkim na tym, że standardowe błędy parametrów mogą być błędnie oszacowane. W efekcie testy t i F mogą prowadzić do mylnych wniosków o istotności parametrów.
Test Breuscha-Pagana
Test Breuscha-Pagana jest jednym z klasycznych testów heteroskedastyczności. Sprawdza, czy wariancja składnika losowego zależy od zmiennych objaśniających.
Hipotezy testu są następujące:
$$H_0: \text{występuje homoskedastyczność}$$
$$H_1: \text{występuje heteroskedastyczność zależna od zmiennych objaśniających}$$
Hipoteza zerowa jest korzystna dla modelu. Jeżeli p-value jest małe, odrzucamy hipotezę homoskedastyczności i uznajemy, że występuje heteroskedastyczność.
Intuicyjnie test Breuscha-Pagana polega na sprawdzeniu, czy kwadraty reszt można wyjaśnić za pomocą zmiennych objaśniających. Jeżeli tak, oznacza to, że wariancja błędów nie jest stała, lecz zależy od poziomu zmiennych w modelu.
Test White’a
Test White’a jest bardziej ogólnym testem heteroskedastyczności. Nie wymaga tak precyzyjnego określenia postaci zależności wariancji od zmiennych objaśniających. W regresji pomocniczej mogą pojawiać się zmienne objaśniające, ich kwadraty oraz iloczyny.
Hipotezy są następujące:
$$H_0: \text{występuje homoskedastyczność}$$
$$H_1: \text{występuje heteroskedastyczność}$$
Test White’a jest bardziej elastyczny niż test Breuscha-Pagana, ponieważ może wykrywać różne formy heteroskedastyczności. Z drugiej strony, przy małej liczbie obserwacji może być problematyczny, ponieważ regresja pomocnicza może zawierać wiele dodatkowych zmiennych.
W praktyce test White’a jest często stosowany jako ogólny test diagnostyczny. Jeżeli wskazuje na heteroskedastyczność, warto rozważyć zastosowanie odpornych błędów standardowych, transformację zmiennych albo zmianę specyfikacji modelu.
Test Goldfelda-Quandta
Test Goldfelda-Quandta jest klasycznym testem heteroskedastyczności, który sprawdza, czy wariancja składnika losowego różni się między dwiema grupami obserwacji. Jest szczególnie przydatny wtedy, gdy podejrzewamy, że wariancja błędów rośnie wraz z pewną zmienną.
Idea testu polega na uporządkowaniu obserwacji według zmiennej, która może być źródłem heteroskedastyczności. Następnie dzieli się dane na dwie grupy, często pomijając część środkowych obserwacji, i porównuje sumy kwadratów reszt w obu grupach.
Hipotezy można zapisać następująco:
$$H_0: \text{wariancje składnika losowego w obu grupach są takie same}$$
$$H_1: \text{wariancje składnika losowego w obu grupach różnią się}$$
Test Goldfelda-Quandta jest użyteczny, gdy mamy konkretne podejrzenie, że rozrzut reszt zmienia się wraz z określoną zmienną, na przykład dochodem, wielkością przedsiębiorstwa albo skalą działalności.
Heteroskedastyczność a źródła problemu
Heteroskedastyczność może mieć różne źródła, dlatego nie każdy test jest jednakowo czuły na ten sam typ problemu.
W danych przekrojowych heteroskedastyczność często wynika z różnic skali między jednostkami. Duże przedsiębiorstwa mogą mieć większą zmienność zysków niż małe przedsiębiorstwa. Gospodarstwa domowe o wysokich dochodach mogą mieć bardziej zróżnicowane wydatki niż gospodarstwa o niskich dochodach. W takich sytuacjach wariancja błędów może zależeć od poziomu jednej lub kilku zmiennych objaśniających.
W szeregach czasowych heteroskedastyczność może wynikać z upływu czasu, zmian strukturalnych, kryzysów, inflacji albo narastającej zmienności badanego zjawiska. W finansach często obserwuje się okresy spokojne i okresy silnych wahań, co prowadzi do zmienności wariancji w czasie.
Test Breuscha-Pagana koncentruje się przede wszystkim na zależności wariancji od zmiennych objaśniających. Test White’a jest bardziej ogólny i może wykrywać szerszą klasę zależności. Test Goldfelda-Quandta sprawdza różnice wariancji między grupami uporządkowanymi według wybranej zmiennej.
Dlatego przy wyborze testu warto zastanowić się, jakie jest możliwe źródło heteroskedastyczności. Inaczej będziemy badać model wynagrodzeń dla osób o bardzo różnych dochodach, a inaczej model szeregu czasowego, w którym zmienność rośnie z roku na rok.
Test serii jako test losowości reszt
W diagnostyce reszt można spotkać również test serii, nazywany także testem runs. Służy on do badania losowości układu znaków reszt. Nie analizuje dokładnych wartości reszt, lecz to, czy dodatnie i ujemne reszty pojawiają się w sposób losowy.
Serią nazywamy ciąg kolejnych reszt o tym samym znaku. Przykładowo, jeżeli przez kilka obserwacji z rzędu reszty są dodatnie, mamy serię dodatnią. Jeżeli później pojawia się kilka reszt ujemnych, mamy serię ujemną.
Hipotezy testu serii można przedstawić następująco:
$$H_0: \text{znaki reszt układają się losowo}$$
$$H_1: \text{znaki reszt nie układają się losowo}$$
Zbyt mała liczba serii może wskazywać na autokorelację dodatnią, ponieważ reszty długo utrzymują ten sam znak. Zbyt duża liczba serii może wskazywać na autokorelację ujemną, ponieważ reszty zbyt często zmieniają znak.
Test serii jest prosty i intuicyjny, dlatego dobrze nadaje się do wstępnej oceny losowości reszt. Nie zastępuje jednak bardziej wyspecjalizowanych testów autokorelacji, takich jak test Durbina-Watsona czy test Breuscha-Godfreya.
Test RESET Ramseya
Oprócz testów dotyczących reszt warto wspomnieć o testach poprawności specyfikacji modelu. Jednym z najpopularniejszych jest test RESET Ramseya.
Test ten sprawdza, czy w modelu nie pominięto istotnych nieliniowości albo czy model nie ma błędnej postaci funkcyjnej. W praktyce do modelu pomocniczego dodaje się potęgi wartości teoretycznych, na przykład $\hat{Y}^2$, $\hat{Y}^3$, i sprawdza ich łączną istotność.
Hipotezy można zapisać następująco:
$$H_0: \text{model jest poprawnie wyspecyfikowany}$$
$$H_1: \text{model jest błędnie wyspecyfikowany}$$
Tak jak w większości testów diagnostycznych, hipoteza zerowa jest korzystna dla modelu. Jeżeli ją odrzucamy, może to oznaczać, że model wymaga zmiany postaci, dodania pominiętych zmiennych albo uwzględnienia zależności nieliniowych.
Test RESET nie mówi dokładnie, co jest źle w modelu. Informuje raczej, że istnieją przesłanki błędnej specyfikacji. Dlatego jego wynik należy traktować jako sygnał do dalszej analizy, a nie jako gotową odpowiedź.
Jak czytać wyniki testów w praktyce?
W praktyce programy ekonometryczne podają najczęściej statystykę testową oraz wartość p-value. Najprostsza reguła decyzyjna jest następująca:
Jeżeli:
$$p\text{-value} < \alpha$$
to odrzucamy hipotezę zerową na poziomie istotności $\alpha$.
Jeżeli:
$$p\text{-value} \geq \alpha$$
to nie mamy podstaw do odrzucenia hipotezy zerowej.
Trzeba jednak uważać na interpretację. Sformułowanie „nie odrzucamy hipotezy zerowej” nie oznacza, że hipoteza zerowa jest na pewno prawdziwa. Oznacza jedynie, że na podstawie dostępnych danych nie mamy dostatecznie silnych podstaw, aby ją odrzucić.
Warto także pamiętać, że testy statystyczne nie zastępują oceny merytorycznej. Model może przejść wiele testów diagnostycznych, a mimo to być słaby merytorycznie. Może też nie przejść jednego testu, ale nadal być użyteczny po zastosowaniu odpowiednich korekt, na przykład odpornych błędów standardowych albo zmiany specyfikacji.
W praktycznej analizie warto więc patrzeć nie tylko na pojedyncze p-value, ale także na sens ekonomiczny modelu, znaki parametrów, wykresy reszt, stabilność wyników oraz cel, do którego model ma być wykorzystany.
Podsumowanie
Weryfikacja modelu ekonometrycznego jest niezbędnym etapem analizy. Samo oszacowanie modelu metodą najmniejszych kwadratów nie wystarcza, ponieważ trzeba jeszcze sprawdzić, czy parametry są istotne, czy model jako całość ma sens oraz czy reszty spełniają podstawowe założenia.
W testach istotności parametrów hipoteza zerowa jest zwykle niekorzystna dla modelu, ponieważ mówi o braku wpływu danej zmiennej. Odrzucenie hipotezy zerowej jest wtedy korzystne. W testach diagnostycznych sytuacja jest najczęściej odwrotna: hipoteza zerowa oznacza brak problemu, a jej odrzucenie wskazuje na naruszenie założeń.
Test F łącznej istotności modelu można traktować jako szczególny przypadek testu Walda dla liniowych ograniczeń na parametry. Uogólniony test Walda pozwala natomiast testować dowolnie wybrane podzbiory parametrów albo inne liniowe ograniczenia. W modelu z jedną zmienną objaśniającą i wyrazem wolnym test t dla parametru kierunkowego oraz test F prowadzą do tych samych wniosków, ponieważ zachodzi zależność $F=t^2$.
Do najważniejszych narzędzi weryfikacji należą test t-Studenta, test F, test Walda, test Jarque’a-Bery, test Shapiro-Wilka, test Durbina-Watsona, test Breuscha-Godfreya, test Breuscha-Pagana, test White’a, test Goldfelda-Quandta, test serii, test RESET Ramseya oraz diagnostyka współliniowości z wykorzystaniem współczynnika VIF.
Wyników testów nie należy interpretować mechanicznie. Trzeba uwzględnić rodzaj danych, liczebność próby, cel modelu, sens ekonomiczny zmiennych oraz ewentualne konsekwencje naruszenia założeń. Dobry model ekonometryczny powinien być nie tylko poprawny formalnie, ale również sensowny merytorycznie i użyteczny praktycznie.