Wszechnica Wszechwiedzy - Baner

Funkcje wymierne i ułamki proste

Wprowadzenie

Funkcja wymierna jest jednym z najważniejszych przykładów funkcji elementarnych, które pojawiają się niemal w każdej dziedzinie matematyki. Stanowi uogólnienie prostych zależności wielomianowych, a jej analiza – zarówno algebraiczna, jak i graficzna – pozwala zrozumieć zachowanie wielu bardziej złożonych modeli.

W praktyce funkcje wymierne opisują zależności, w których wartość zmiennej zależy od stosunku dwóch wielomianów. Ich własności – takie jak dziedzina, miejsca zerowe, asymptoty czy granice funkcji wymiernej – stanowią podstawę do dalszego badania przebiegu zmienności.

Szczególne znaczenie ma również rozkład funkcji wymiernej na ułamki proste, który odgrywa kluczową rolę w rachunku całkowym. Dzięki niemu można sprowadzić całkowanie nawet dość złożonych funkcji wymiernych do całkowania prostszych składników, również będących funkcjami wymiernymi.

W niniejszym artykule przedstawiamy ogólną postać funkcji wymiernej, jej najważniejsze własności oraz zastosowanie rozkładu na ułamki proste — będące wstępem do zagadnień związanych z całkowaniem funkcji wymiernych.

Spis treści

Co to jest funkcja wymierna?

Mianem funkcji wymiernej określamy iloraz dwóch wielomianów:

$$W(x) = {{P(x)} \over {Q(x)}}\tag 1 \label {eq:1}$$

Czyli:

$$W(x) = {{a_0 + a_1 x + ... + a_m x^m} \over {b_0 + b_1 x + ... + b_n x^n}} \tag 2 \label {eq:2}$$

gdzie $a_m \neq 0$, $b_n \neq 0$, a wielomian $Q(x)$ nie jest wielomianem zerowym.

Funkcja wymierna, jako funkcja elementarna, jest ciągła w całej swojej dziedzinie. Dziedzinę wyznaczają natomiast te wartości argumentu, dla których mianownik nie jest równy zero:

$$D_W = \{x \in \mathbb R: Q(x)\neq 0\}$$

Jeżeli miejsca zerowe mianownika oznaczymy przez $x_0, x_1, ..., x_k$, to możemy zapisać:

$$D_W = \mathbb R \backslash \{x_0, x_1, ..., x_k\}$$

gdzie $Q(x_0) = Q(x_1) = ... = Q(x_k) = 0$.

W zależności od stopnia wielomianów w liczniku i mianowniku, czyli $m$ oraz $n$ we wzorze (2), wyróżniamy funkcje wymierne:

Każdą funkcję wymierną niewłaściwą można przedstawić jako sumę wielomianu oraz funkcji wymiernej właściwej.

Przykład 1

Na przykład mamy funkcję wymierną niewłaściwą:

$${x^3 + 2x^2 + 4x - 5} \over {x^2 - 2x + 4} \tag 3 \label {eq:3}$$

Licznik jest wielomianem stopnia trzeciego, a mianownik – wielomianem stopnia drugiego. W takiej sytuacji można przedstawić tę funkcję jako sumę wielomianu stopnia pierwszego oraz funkcji wymiernej właściwej. Spróbujmy dokonać stosownych przekształceń:

$${{x^3 + 2x^2 + 4x - 5} \over {x^2 - 2x + 4}} ={ ax + b + {{cx + d} \over {x^2 - 2x + 4}}}$$

Obliczamy wyrażenie po prawej stronie, sprowadzając je do wspólnego mianownika:

$${ ax + b + {{cx + d} \over {x^2 - 2x + 4}}} = {{(ax + b)(x^2 - 2x + 4) + cx + d}\over {x^2 - 2x + 4}} =$$

$$={{ax^3 + (-2a + b)x^2 + (4a - 2b + c) x + 4b + d} \over {x^2 - 2x + 4}} \tag 4 \label {eq:4}$$

Przyrównujemy do siebie współczynniki w licznikach postaci (3) oraz (4):

$$a = 1$$

$-2a + b = 2$, stąd $b = 4$

$4a - 2b + c = 4$, stąd $c = 8$

$4b + d = -5$, stąd $d = -21$

Wobec tego:

$${{x^3 + 2x^2 + 4x - 5} \over {x^2 - 2x + 4}} ={x + 4 + {{8x - 21} \over {x^2 - 2x + 4}}} \tag 5 \label {eq:5}$$

Funkcja wymierna może posiadać miejsca zerowe. Miejscami zerowymi funkcji wymiernej (1) są miejsca zerowe wielomianu $P(x)$, o ile oczywiście należą one do dziedziny funkcji wymiernej, tj. nie są jednocześnie miejscami zerowymi wielomianu $Q(x)$.

W zależności od stopni wielomianów w liczniku i mianowniku różne są wartości granic $ \lim\limits_{x \to -\infty} W(x)$ oraz $\lim\limits_{x \to \infty} W(x)$.

W przypadku, gdy $m > n$, granice te są granicami niewłaściwymi ($-\infty$ lub $\infty$). Znak granicy $\lim\limits_{x \to \infty} W(x)$ zależy od znaku ilorazu współczynników wiodących $\frac {a_m}{b_n}$, natomiast znak granicy $\lim\limits_{x \to -\infty} W(x)$ zależy dodatkowo od parzystości różnicy stopni $m-n$.

Gdy $m = n$, wówczas:

$$ \lim\limits_{x \to -\infty} W(x) = \lim\limits_{x \to \infty} W(x) = {{a_m} \over {b_n}}$$

Gdy $m < n$, wówczas:

$$ \lim\limits_{x \to -\infty} W(x) = \lim\limits_{x \to \infty} W(x) = 0$$

Granice w miejscach zerowych mianownika zależą od tego, czy są one również miejscami zerowymi licznika. Jeżeli tak jest, wówczas po skróceniu wspólnego czynnika granicą może być liczba skończona. W przeciwnym wypadku granicą jednostronną będzie zwykle $-\infty$ albo $\infty$, w zależności od znaków wyrażeń licznika i mianownika w otoczeniu punktu, w którym liczymy granicę.

Funkcje wymierne mogą posiadać asymptoty:

Ułamki proste

Każdą funkcję wymierną właściwą można przedstawić jako sumę ułamków prostych. Ułamkami prostymi nazywamy funkcje wymierne właściwe typu:

$$A \over {(x - a)^p} \tag 6 \label {eq:6}$$

oraz:

$${Ax + B} \over {(x^2 +bx + c)^p} \tag 7 \label {eq:7}$$

Przy czym, aby wyrażenie (7) mogło zostać uznane za ułamek prosty, trójmian kwadratowy w jego mianowniku nie może mieć miejsc zerowych, tj.: $\Delta = b^2 - 4c < 0$. W przeciwnym razie wyrażenie to można byłoby rozłożyć na ułamki proste z czynnikami liniowymi w mianowniku.

Aby rozłożyć funkcję wymierną właściwą na ułamki proste, należy rozłożyć jej mianownik na czynniki. Każdemu czynnikowi liniowemu jednokrotnemu $(x - a)$ odpowiada ułamek prosty typu:

$$A \over {x - a} \tag 8 \label {eq:8}$$

Każdemu czynnikowi wielokrotnemu $(x - a)^k$ odpowiada suma $k$ ułamków prostych typu (6), dla $1 \leq p \leq k$.

Każdemu nierozkładalnemu czynnikowi kwadratowemu $(x^2 +bx + c)$, dla którego $\Delta = b^2 - 4c < 0$, odpowiada jeden ułamek prosty typu:

$${Ax + B} \over {x^2 + bx + c} \tag 9 \label {eq:9}$$

Natomiast każdemu czynnikowi wielokrotnemu $(x^2 + bx + c )^k$, dla którego $\Delta = b^2 - 4c < 0$, odpowiada suma $k$ ułamków prostych typu (7), dla $1 \leq p \leq k$.

Przykład 2

Rozłóżmy na ułamki proste poniższą funkcję – dla ułatwienia, mianownik jest już rozłożony na czynniki:

$${x^2 - 3x + 5} \over {(x - 2)^2 \cdot (x + 1)} \tag {10} \label {eq:{10}}$$

Zgodnie z przytoczonymi wyżej regułami rozkład na ułamki proste jest następujący:

$${{x^2 - 3x + 5} \over {(x - 2)^2 \cdot (x + 1)}} = {A \over {(x - 2)^2}} + {B \over {x - 2}} + {C \over {x + 1}} \tag {11} \label {eq:{11}}$$

należy tylko obliczyć wartości współczynników $A$, $B$, $C$.

W tym celu mnożymy obie strony wyrażenia (11) przez mianownik funkcji (10) po lewej stronie.

$$x^2 - 3x + 5 \equiv A \cdot (x + 1) + B \cdot (x + 1)(x - 2) + C \cdot (x - 2)^2 \tag {12} \label {eq:{12}}$$

Znak $\equiv$ oznacza tożsamość wyrażeń po lewej i prawej stronie, która zachodzi dla każdej wartości $x$ – w tym nawet takiej, dla której funkcja (10) nie istnieje (tj. $x=-1$, $x = 2$). Aby obliczyć wartości współczynników $A$, $B$, $C$, należy podstawić do wyrażenia (12) trzy różne wartości $x$. Mogą to być całkiem dowolne wartości, ale obliczeniowo najkorzystniej jest w pierwszej kolejności użyć wartości, dla których mianownik funkcji (10) równy jest zero.

Weźmy $x = -1$. Zeruje się wówczas wyrażenie $x + 1$. Równość (12) przybiera postać:

$$(-1)^2 - 3 \cdot (-1) + 5 = C \cdot (-1 -2)^2$$

$9 = 9C$, stąd $C = 1$

Następnie bierzemy $x = 2$. Zeruje się wówczas wyrażenie $x - 2$:

$$2^2 - 3 \cdot 2 + 5 = A \cdot (2 + 1)$$

$3 = 3A$, stąd $A = 1$

Mając wartości $A$ oraz $C$, za $x$ możemy podstawić dowolną wartość. Najlepiej podstawić $x = 0$:

$$0^2 - 3 \cdot 0 + 5 = A \cdot (0 + 1) + B \cdot (0 + 1)(0 - 2) + C \cdot (0 - 2)^2$$

$5 = A - 2B + 4C$, stąd $5 = 1 - 2B + 4$, czyli $B=0$

Wobec tego rozkład funkcji (10) na ułamki proste jest następujący:

$${{x^2 - 3x + 5} \over {(x - 2)^2 \cdot (x + 1)}} = {1 \over {(x - 2)^2}} + {1 \over {x + 1}} \tag {13} \label {eq:{13}}$$

Przykład 3

Rozłóżmy na ułamki proste inną funkcję – mianownik również jest już rozłożony na czynniki:

$${x^3 + 4x^2 - x + 2} \over {(x^2 - 2x + 4) \cdot (x -1)} \tag {14} \label {eq:{14}}$$

W pierwszej kolejności powinniśmy zauważyć pewien „haczyk”. Licznik funkcji wymiernej (14) jest wielomianem trzeciego stopnia, a mianownik tej funkcji również jest wielomianem stopnia trzeciego, gdyż jest on iloczynem wielomianu stopnia drugiego oraz pierwszego. Wynika stąd, że funkcja (14) jest funkcją wymierną niewłaściwą, tymczasem rozkład na ułamki proste dotyczy tylko funkcji wymiernych właściwych. W pierwszej kolejności zatem musimy rozłożyć tę funkcję na sumę wielomianu i funkcji wymiernej właściwej. Ponieważ licznik i mianownik są tego samego stopnia, rozkład ten można wykonać nieco szybciej i prościej aniżeli w przykładzie nr 1.

W tym celu przedstawmy „na siłę” licznik wyrażenia (14) jako identyczny z mianownikiem, a następnie, poprzez odejmowanie stosownych składników, przywróćmy go do pierwotnej postaci. Najpierw wymnóżmy mianownik:

$$(x^2 - 2x + 4) \cdot (x -1)= x^3 - 3x^2 + 6x -4$$

i teraz:

$${{x^3 + 4x^2 - x + 2} \over {(x^2 - 2x + 4) \cdot (x -1)}} = {{x^3 + 4x^2 - x + 2} \over {x^3 - 3x^2 + 6x - 4 }} =$$

Możemy już zastosować wspomniany „chwyt”:

$$= {{x^3 - 3x^2 + 6x - 4 + 7x^2 - 7x + 6} \over {x^3 - 3x^2 + 6x - 4 }} =$$

finalnie otrzymując:

$$= 1 + {{7x^2 - 7x + 6} \over {x^3 - 3x^2 + 6x - 4 }} = $$

$$= 1 + {{7x^2 - 7x + 6} \over {(x^2 - 2x + 4) \cdot (x -1)}} \tag {15} \label {eq:{15}} $$

Funkcję wymierną niewłaściwą (14) przedstawiliśmy w postaci (15), tj. sumy jedności (czyli wielomianu stopnia zerowego) oraz funkcji wymiernej właściwej. Teraz funkcję tę możemy już bez problemu rozłożyć na ułamki proste.

Sprawdźmy – na wszelki wypadek – czy trójmian kwadratowy $x^2 - 2x + 4$ rzeczywiście jest nierozkładalny na czynniki, czyli czy nie posiada on pierwiastków rzeczywistych. Obliczamy $\Delta = (-2)^2 - 4 \cdot 4 = -12<0$. Wszystko się zgadza, zatem rozkład na ułamki proste będzie następujący:

$${{7x^2 - 7x + 6} \over {(x^2 - 2x + 4) \cdot (x -1)}} = {{Ax + B} \over {x^2 - 2x + 4}} + {C \over {x - 1}} \tag {16} \label {eq:{16}}$$

Podobnie jak w poprzednim przypadku, mnożymy obie strony wyrażenia (16) przez mianownik funkcji po lewej stronie:

$${7x^2 - 7x + 6} \equiv {Ax + B} \cdot (x - 1) + C \cdot (x^2 - 2x + 4) \tag {17} \label {eq:{17}}$$

Tutaj również mamy do wyliczenia trzy wartości: $A$, $B$, $C$. Można tego dokonać poprzez podstawienie trzech różnych wartości $x$. Tutaj będzie nieco trudniej, gdyż mianownik funkcji (15) miał tylko jedno rzeczywiste miejsce zerowe. Zatem nie uda się, tak jak to się udało w poprzednim przykładzie, podstawić dwu wartości „zerujących” wszystkie czynniki oprócz jednego.

Na początek podstawmy do (17) $x = 1$:

$${7 \cdot 1^2 - 7 \cdot 1 + 6} \equiv C \cdot (1^2 - 2 \cdot 1 + 4) $$

$6 = 3C$, stąd: $C = 2$

Teraz możemy podstawić $x=0$, co nieco uprości wyrażenie $Ax + B$:

$${7 \cdot 0^2 - 7 \cdot 0 + 6} \equiv {B} \cdot (0 - 1) + C \cdot (0^2 - 2 \cdot 0 + 4)$$

$6 = -B + 4C$, stąd: $6 = -B + 8$, a zatem $B = 2$

Aby obliczyć $A$, podstawiamy dowolną wartość. Najprostsza jest chyba $x = -1$:

$${7 \cdot (-1)^2 - 7 \cdot (-1) + 6} \equiv {-A + B} \cdot (-1 - 1) + C \cdot [(-1)^2 - 2 \cdot (-1) + 4] $$

$20 = 2A - 2B + 7C$, zatem $20 = 2A - 4 + 14$, stąd: $2A = 10$ i ostatecznie $A=5$.

Rozkład funkcji (14) na ułamki proste jest więc następujący:

$${{x^3 + 4x^2 - x + 2} \over {(x^2 - 2x + 4) \cdot (x -1)}} = 1 + {{5x + 2} \over {x^2 - 2x + 4}} + {2 \over {x - 1}} \tag {18} \label {eq:{18}}$$

Oczywiście, jeśli ktoś lubi wyzwania, to mógłby rozłożyć nierozkładalny trójmian kwadratowy w mianowniku, wyliczając pierwiastki zespolone, jednakże sposób taki – pomimo możliwości podstawienia za $x$ zespolonych miejsc zerowych mianownika – niekoniecznie byłby obliczeniowo łatwiejszy.

Cel rozkładu na ułamki proste

W wielu zastosowaniach łatwiej używać zwyczajnej, ilorazowej postaci funkcji wymiernej (2), co najwyżej warto rozłożyć mianownik, a czasem także i licznik, na czynniki. Jednak jest kilka zagadnień, gdzie rozłożenie na ułamki proste jest konieczne. Jednym z nich jest rachunek całkowy. Otóż dla każdej funkcji wymiernej da się wyznaczyć funkcję pierwotną, czyli obliczyć całkę nieoznaczoną, a całkę oznaczoną obliczyć za pomocą wzoru Newtona-Leibniza. Obliczenie całki nieoznaczonej z funkcji wymiernej wymaga jednak zazwyczaj rozkładu na ułamki proste. Każdy typ ułamka prostego ma swój algorytm postępowania, pozwalający na wyznaczenie całki nieoznaczonej, a całka funkcji wymiernej jest sumą tych całek.

Innymi obszarami, gdzie rozkład na ułamki proste znajduje zastosowanie, są transformacja Laplace’a oraz odwrotna transformacja Laplace’a.

Całkowaniu funkcji wymiernych oraz transformacji Laplace’a poświęcone będą odrębne artykuły.

Aproksymacja i interpolacja

Wprowadzenie

Aproksymacja oraz interpolacja to dwa bardzo ważne zagadnienia przerabiane w ramach kursu metod numerycznych. Nazwy te wzbudzają u niektórych strach i niezrozumienie, a także są często mylone. Czy słusznie? W tym artykule postaram się przybliżyć te dwa zagadnienia.

Interpolacja

Interpolacja liniowa i przykład „życiowy”

Zaczniemy od interpolacji, jako od zagadnienia prostszego, a nawet bliższego codziennemu życiu. Czym zajmuje się interpolacja? Do czego służy?

Zacznijmy może od problemu życiowego. Załóżmy, że chcemy naszemu kotu czy psu zaaplikować środek na pchły albo kleszcze. Na ulotce mamy tabelkę z ilością preparatu, jaka powinna zostać zaaplikowana w zależności od wagi zwierzęcia. Załóżmy, że tabelka ta wygląda tak:

Waga zwierzęcia [kg]
$$x_i$$
Ilość preparatu [ml]
$$y_i$$
311
516
721
1025

Oczywiście dane są całkowicie zmyślone. Ważymy naszego pupila — waga pokazuje 5,8 kg. Ile mililitrów preparatu zaaplikować? Czy potraktować to jako 5 kg i zaaplikować 16 ml, a może już jako 7 kg i zaaplikować 21 ml? Co, jeśli 16 ml okaże się za mało i nie pokonamy robactwa, a 21 ml to za dużo i zaszkodzimy pupilowi?

Co w takiej sytuacji zazwyczaj robimy? Waga 5,8 kg to waga pośrednia pomiędzy zawartymi w tabeli wartościami 5 kg i 7 kg, więc poszukujemy jakiejś pośredniej wartości mililitrów. Staramy się to robić zgodnie z jakąś logiką i kombinujemy tak:

Przy 5 kg dawka to 16 ml, przy wadze o 2 kg większej dawka to 21 ml. A zatem tak, jakby w zakresie między 5 a 7 kg masy zwierzęcia, na 2 kg wagi przypadało 5 ml. Nasz pupil waży o 0,8 kg więcej, czyli powinien dostać dawkę 16 ml powiększoną o część z tych 5 ml — i to proporcjonalnie taką część z tych 5 ml, jaką częścią 2 kg jest nasze 0,8 kg.

Innymi słowy, powinien dostać $16 + \frac{0,8}{2} \cdot 5$ ml, co daje nam dodatkowe 2 ml. Czyli optymalna dawka leku dla naszego zwierzaka to 18 ml.

Brawo! Dokonaliśmy właśnie najprostszej interpolacji — interpolacji liniowej. Założyliśmy sobie, że pomiędzy sąsiednimi wartościami masy ciała w tabeli (5 kg oraz 7 kg), dawka leku od 16 ml do 21 ml zmienia się liniowo. To, co zrobiliśmy, na rysunku można przedstawić następująco.

Interpolacja liniowa
Interpolacja liniowa pomiędzy dwoma punktami 

Interpolacja wielomianowa

W przytoczonym przypadku interpolacji dokonaliśmy de facto na dwu punktach: $(5; 16)$ oraz $(7; 21)$. Pozostałe punkty z tabeli w ogóle nas nie interesowały. Zrobiliśmy to po to, by poznać wartość zmiennej $y$ (dawki lekarstwa dla zwierzaka), dla wartości $x$ (masy jego ciała), która nie została wymieniona w tabeli.

Na zajęciach z metod numerycznych najczęściej interpolacji dokonuje się na większej liczbie punktów. Mamy kilka punktów $(x_i; y_i)$ i chcemy poznać wartości $y$ dla $x$ niewymienionego w tabeli. W tym celu szukamy takiej funkcji, która — to bardzo ważne, kluczowe dla interpolacji i odróżniające ją od aproksymacji — dla danych wartości $x_i$ da dokładnie takie same wartości $y_i$ i, niejako przy okazji, pozwoli na wspomniane wyliczenie $y$ dla wartości pośrednich.

Funkcją, która pod względem matematycznym dobrze nadaje się do spełnienia warunku idealnego dopasowania swych wartości do danych punktów, jest funkcja wielomianowa. Dla przypomnienia, wielomianem (stopnia $n$) nazywamy taką funkcję:

$$W_n(x) = a_0 + a_1 x + a_2 x^2 + ... + a_{n-1} x^{n-1} + a_n x^n \tag 1 \label {eq:1}$$

$a_0, a_1, ..., a_n$ są to współczynniki wielomianu. Interpolacja liniowa, o której mówiliśmy na początku, polegała na znalezieniu prostej przechodzącej przez dwa punkty. Matematycznie prostą reprezentuje równanie prostej:

$$y = ax + b$$

poznane bodajże jeszcze w szkole podstawowej, które jest niczym innym, jak właśnie wielomianem. Wielomianem pierwszego stopnia, gdyż zmienna $x$ występuje tam w potędze pierwszej. W naszym przypadku nie wyznaczaliśmy tego równania prostej w sposób jawny, ale gdybyśmy chcieli, to jest to jak najbardziej możliwe. Póki co nie angażujmy do tego sposobów przerabianych na studiach, ale użyjmy wiedzy z poziomu szkoły średniej. Mamy dane dwa punkty $(5; 16)$ oraz $(7; 21)$. Korzystamy ze wzoru (zawartego w każdych tablicach „maturalnych”):

$$y - y_1 = (x - x_1) \cdot {{y_2 - y_1} \over {x_2 - x_1}}$$

u nas:

$$y - 16 = (x - 5) \cdot {{21 - 16} \over {7 - 5}}$$

po przekształceniach:

$$y = 2,5x + 3,5$$

Zatem nasz wielomian interpolacyjny dla punktów $(5; 16)$ oraz $(7; 21)$, wyznaczony metodą „szkolną”, jest następujący:

$$W(x) = 2,5 x + 3,5$$

Sprawdźmy, czy się wszystko zgadza. Zobaczmy, jaki $y$ wyjdzie dla $x = 5$:

$$W(5) = 2,5 \cdot 5 + 3,5 = 12,5 + 3,5 = 16$$

a dla $x = 7$:

$$W(7) = 2,5 \cdot 7 + 3,5 = 17,5 + 3,5 = 21$$

Wszystko się zgadza. Nasza „pośrednia dawka dla pośredniej wagi”:

$$W(5,8) = 2,5 \cdot 5,8 + 3,5 = 14,5 + 3,5 = 18$$

Tutaj też się zgadza.

Oczywiście nasz wielomian nie da wartości $y$ z tabelki dla innych $x$ z tej tabelki, bo uwzględniliśmy tylko te dwa punkty.

Co by było, gdybyśmy chcieli, aby nasz wielomian „zgadzał się” dla wszystkich punktów z tabelki — a są one cztery? Zastanówmy się przede wszystkim, wielomianu jakiego stopnia poszukujemy. Zachodzi tutaj prosta zależność: jeśli mamy $n$ punktów, to potrzebujemy wielomianu stopnia co najwyżej $n-1$. Jeśli są dwa punkty, to jak wiemy, można przez nie poprowadzić prostą (czyli wielomian stopnia 1). Jeśli mielibyśmy trzy punkty, to przez trzy punkty można jednoznacznie poprowadzić parabolę (wielomian stopnia drugiego), o ile punkty te nie leżą na jednej prostej. Z kolei wielomian stopnia zerowego, czyli funkcję stałą (jej wykres to prosta pozioma), można poprowadzić przez jeden punkt. I tak dalej.

Uwaga — w tym momencie trzeba zwrócić uwagę na bardzo ważną rzecz. Aby interpolacja była możliwa, dane punkty muszą odpowiadać funkcji, czyli jednej wartości zmiennej $x$ może odpowiadać tylko jedna wartość $y$. Gdybyśmy mieli np. punkty $(3; 5)$ oraz $(3; 6)$, to nie dałoby się dokonać interpolacji funkcją $y=f(x)$. Nadal dałoby się przez takie punkty poprowadzić prostą, ale byłaby to prosta pionowa o równaniu $x = 3$, a takie równanie nie jest równaniem funkcji liniowej w postaci $y=f(x)$. Nic nie stoi natomiast na przeszkodzie, aby ten sam $y$ odpowiadał różnym wartościom $x$. Dla punktów $(2; 4)$, $(3; 5)$, $(4; 4)$ bez problemu można znaleźć wielomian interpolacyjny.

U nas zatem, skoro mamy cztery punkty, potrzebujemy wielomianu stopnia co najwyżej trzeciego. Czyli takiej funkcji:

$$W_3(x) = a_0 + a_1 x + a_2 x^2 + a_3 x^3$$

Tak naprawdę, to właściwsze byłoby stwierdzenie, że potrzebujemy wielomianu stopnia co najwyżej trzeciego. Bo wyobraźmy sobie, że np. te cztery punkty akurat leżą na jednej prostej — wtedy wystarczyłoby równanie prostej. Matematyka sobie z taką sytuacją poradzi w taki sposób, że po prostu współczynniki $a_2$ oraz $a_3$ wyszłyby równe zero.

Spróbujmy wyznaczyć ten wielomian interpolacyjny, nie korzystając ze wzorów przerabianych na kursie metod numerycznych. Jak wiadomo, kluczowe dla interpolacji jest, by „dla podanych iksów wychodziły podane igreki”. Innymi słowy, uwzględniając punkty z naszej tabeli, muszą być spełnione warunki: $W_3(3) = 11$, $W_3(5) = 16$, $W_3(7) = 21$, $W_3(10) = 25$. Podstawiając te zależności do wzoru (1), dostaniemy układ równań:

$$\left\{ {\begin{aligned} a_0 + a_1 \cdot 3 + a_2 \cdot 3^2 + a_3 \cdot 3^3 = 11 \\ a_0 + a_1 \cdot 5 + a_2 \cdot 5^2 + a_3 \cdot 5^3 = 16 \\a_0 + a_1 \cdot 7 + a_2 \cdot 7^2 + a_3 \cdot 7^3 = 21 \\a_0 + a_1 \cdot 10 + a_2 \cdot 10^2 + a_3 \cdot 10^3 = 25 \end{aligned}}\right.$$

w którym niewiadomymi są współczynniki $a_0$, $a_1$, $a_2$, $a_3$. I o to chodzi! Będą współczynniki, będziemy mieć wielomian. Współczynniki są cztery, równania też cztery. Jest więc szansa na rozwiązanie.

Zapiszmy układ w „ładniejszy” sposób:

$$\left\{ {\begin{aligned} a_0 + 3 a_1 + 9 a_2 + 27 a_3 = 11 \\ a_0 + 5 a_1 + 25 a_2 + 125 a_3 = 16 \\a_0 + 7 a_1 + 49 a_2 + 343 a_3 = 21 \\a_0 + 10 a_1 + 100 a_2 + 1000 a_3 = 25 \end{aligned}}\right.$$

Do rozwiązania użyć można dowolnej metody. W tym wypadku użyjemy metody macierzowej.

Macierz współczynników ma postać:

$$\left[ \begin{matrix} 1 & 3 & 9 & 27 \\ 1 & 5 & 25 & 125 \\1 & 7 & 49 & 343 \\1 & 10 & 100 & 1000 \end{matrix} \right]$$

Jako że tematem artykułu nie jest rozwiązywanie układów równań liniowych, nie będziemy dokładnie opisywać metodyki rozwiązania układu — ograniczymy się tylko do wzoru na wektor niewiadomych:

$$\textbf A = \left[ \begin{matrix} a_0 \\ a_1 \\ a_2 \\ a_3 \end{matrix} \right] = \left[ \begin{matrix} 1 & 3 & 9 & 27 \\ 1 & 5 & 25 & 125 \\1 & 7 & 49 & 343 \\1 & 10 & 100 & 1000 \end{matrix} \right]^{-1} \cdot \left[ \begin{matrix} 11 \\ 16 \\ 21 \\25 \end{matrix} \right] $$

W rezultacie otrzymujemy:

$$\textbf A = \left[ \begin{matrix} 7 \\ {2 \over 15}\\ {1 \over 2} \\ -{1 \over 30} \end{matrix} \right] $$

Poszukiwany wielomian ma zatem następującą postać:

$$W_3(x) = 7 + {2 \over 15} x + {1 \over 2} x^2 - {1 \over 30} x^3 \tag 2 \label {eq:2}$$

Bez problemu można sprawdzić, że:

$$W_3(3) = 7 + {2 \over 15} \cdot 3 + {1 \over 2} \cdot 9 - {1 \over 30} \cdot 27 = 11$$

$$W_3(5) = 7 + {2 \over 15} \cdot 5 + {1 \over 2} \cdot 25 - {1 \over 30} \cdot 125 = 16$$

$$W_3(7) = 7 + {2 \over 15} \cdot 7 + {1 \over 2} \cdot 49 - {1 \over 30} \cdot 343 = 21$$

$$W_3(10) = 7 + {2 \over 15} \cdot 10 + {1 \over 2} \cdot 100 - {1 \over 30} \cdot 1000 = 25$$

Na poniższym wykresie zaprezentowano przebieg wyliczonego wielomianu interpolacyjnego.

Interpolacja wielomianowa
Interpolacja wielomianem stopnia trzeciego 

Jak widać, w zakresie wartości zmiennej $x$ pomiędzy najmniejszą a największą wartością z tabeli nie można mieć do naszego wielomianu większych zastrzeżeń. Łatwo policzyć, że dla zakładanej wstępnie wartości 5,8 kg nasz wielomian osiąga wartość (wynik zaokrąglono):

$$W_3(5,8) = 18,09$$

otrzymano więc wartość nieznacznie wyższą od uzyskanej poprzednio.

Jak widać na wykresie, poza zakresem zmienności zmiennej $x$ z danych wykres zupełnie się „rozjeżdża” i bez jakiejkolwiek logiki, pomimo wcześniejszego wzrostu, natychmiast po przekroczeniu przez $x$ wartości 10, wartość funkcji gwałtownie spada. Nieco inaczej będzie to wyglądało w przypadku aproksymacji, ale o tym powiemy w dalszej części.

Interpolacja Lagrange’a

W ramach kursu metod numerycznych zazwyczaj nie wyznacza się współczynników wielomianu interpolacyjnego poprzez rozwiązanie układu równań liniowych. Najczęściej korzysta się z wielomianów interpolacyjnych Lagrange’a oraz Newtona.

Wielomian interpolacyjny Lagrange’a wylicza się ze wzoru:

$$L_n(x) = \sum_{i=0}^n y_i \cdot {{\prod_{j \neq i} \left(x - x_j \right)} \over {\prod_{j \neq i} \left(x_i - x_j \right)}}$$

We wzorze tym licznik sumy $i=0,1,2,...,n$ odpowiada kolejnym punktom interpolacyjnym — punktów tych jest $n+1$ (numerujemy od zera!), a wielomian jest stopnia co najwyżej $n$, co zgodne jest z poprzednią konkluzją, że stopień wielomianu interpolacyjnego jest o 1 niższy od liczby punktów.

Budowa wzoru jest prosta — liczba składników sumy równa jest liczbie punktów interpolacyjnych. W liczniku od zmiennej $x$ odejmujemy wartości współrzędnej $x$ kolejnych punktów, pomijając wartość współrzędnej $x$ punktu odpowiadającemu liczonemu składnikowi. Mianownik ma taką samą budowę, jak licznik, tyle że w miejscu zmiennej $x$ znajduje się pominięta współrzędna.

W naszym przypadku ze wzoru skorzystamy w sposób następujący:

$$L_3(x) = {{(x - 5)(x-7)(x-10)} \over {(3 - 5)(3 - 7)(3 - 10)}} \cdot 11 + {{(x - 3)(x-7)(x-10)} \over {(5 - 3)(5 - 7)(5 - 10)}} \cdot 16 + $$
$$ + {{(x - 3)(x-5)(x-10)} \over {(7 - 3)(7 - 5)(7 - 10)}} \cdot 21 + {{(x - 3)(x-5)(x-7)} \over {(10 - 3)(10 - 5)(10 - 7)}} \cdot 25 \tag 3 \label {eq:3}$$

Wzór działa według prostej koncepcji. Dla danego punktu interpolacyjnego $x_i$ wyrażenia $x - x_i$ przy wszystkich pozostałych składnikach (w liczniku) równe są zero, a z kolei dla tego punktu licznik równy jest mianownikowi (ułamek staje się jedynką), dzięki czemu w prosty sposób osiąga się warunek $W_n(x_i) = y_i$.

Po wymnożeniu liczb oraz wyrażeń we wzorze (3) oraz zredukowaniu wyrażeń podobnych otrzymujemy wielomian określony wzorem (2). Jest to normalne, gdyż może istnieć tylko jeden wielomian interpolacyjny stopnia co najwyżej $n$ dla danego zestawu punktów.

Oczywiście można wykonać owe przekształcenia i doprowadzić wielomian do postaci ogólnej. Często wymagają tego prowadzący zajęcia, ale generalnie idea wzoru Lagrange’a polega na tym, aby właśnie tego nie robić, tylko bez kłopotliwych przekształceń od razu skonstruować działający wielomian interpolacyjny.

Wielomian interpolacyjny Lagrange’a to nie jest nazwa jakiegoś specjalnego rodzaju wielomianu. To tylko nazwa sprytnego zapisu działającego wielomianu interpolacyjnego, bez wyznaczania jego współczynników. Gdybyśmy np. chcieli w jakimś języku programowania zapisać taki działający wielomian, to spokojnie wystarczyłoby zdefiniować funkcję wg wzoru (3). Oczywiście postać (2) jest ładniejsza i pewnie szybsza dla kompilatora/interpretera/parsera, ale obie postaci są matematycznie równoważne.

W zasadzie, moim zdaniem, nie powinno się mówić wielomian interpolacyjny Lagrange’a, tylko wzór interpolacyjny Lagrange’a.

Interpolacja Newtona

Tutaj również mówi się o wielomianie interpolacyjnym Newtona, choć de facto jest to po prostu wzór na jeden i ten sam wielomian interpolacyjny, skonstruowany według nieco innych zasad. Sam wzór posiada dość skomplikowany zapis, więc pokażemy od razu sposób konstrukcji wielomianu.

Skonstruowanie wielomianu według wzoru interpolacyjnego Newtona wymaga wyliczenia ilorazów różnicowych funkcji. Jeśli ktoś uważał na zajęciach z analizy matematycznej, to powinien pamiętać to pojęcie. Występuje ono przy definiowaniu pochodnej funkcji. Pochodna jest definiowana jako granica ilorazu różnicowego, dla przyrostu argumentu dążącego do zera.

Jeśli mamy dwa punkty $x_0$ oraz $x_1$, gdzie $x_0 < x_1$, pomiędzy którymi funkcja nasza jest ciągła, to ilorazem różnicowym funkcji nazywamy stosunek zmiany wartości funkcji do przyrostu jej argumentu, tj.:

$$ {{\Delta f(x_0, x_1)} \over {\Delta x}} = {{f(x_1) - f(x_0)} \over {x_1 - x_0}} \tag 4 \label {eq:4}$$

Pojęcie ilorazu różnicowego można rozszerzyć na iloraz różnicowy wyższych rzędów. Iloraz różnicowy drugiego rzędu jest to po prostu iloraz różnicowy z ilorazu różnicowego pierwszego rzędu. Czyli mamy trzy punkty $x_0, x_1, x_2$, obliczamy ilorazy różnicowe między $x_0$ a $x_1$ oraz między $x_1$ a $x_2$ i dla tych ilorazów różnicowych obliczamy iloraz różnicowy, czyli:

$${{\Delta^2 f(x_0, x_1,x_2)} \over {\Delta x^2}} = {{{\Delta f(x_1,x_2)} \over {\Delta x}} - {{\Delta f(x_0,x_1)} \over {\Delta x}} \over {x_2 - x_0}}$$

$$ {{\Delta^2 f(x_0, x_1,x_2)} \over {\Delta x^2}} = {{{f(x_2) - f(x_1)} \over {x_2 - x_1}} - {{f(x_1) - f(x_0)} \over {x_1 - x_0}} \over {x_2 - x_0}} \tag 5 \label {eq:5} $$

Analogicznie wyprowadza się ilorazy różnicowe kolejnych rzędów.

Kolejne ilorazy obliczamy w tabeli:

$i$$x_i$$y_i=f(x_i)$ilorazy I rzęduilorazy II rzęduilorazy III rzędu
1311
$5 \over 2$
25160
$5 \over 2$$-{1 \over 30}$
3721$-{7 \over 30}$
$4 \over 3$
41025

Czy ta $-{1 \over 30}$ coś Wam przypomina?

Teraz to, co najfajniejsze: współczynniki we wzorze interpolacyjnym Newtona czytamy tak jakby „po trójkącie” i mamy dwie możliwości: po górnym lub dolnym trójkącie. Najpierw wypiszemy wzór, a potem będzie komentarz:

Pierwsza możliwość — „po górnym trójkącie”:

$$N_3(x) = 11 + {5 \over 2} \cdot (x - 3) + 0 \cdot (x - 3) (x-5) - {1 \over 30} \cdot (x - 3) (x-5) (x - 7)$$

Wartość 2,5 przedstawiono jako $5 \over 2$, aby nie mieszać różnych postaci ułamka w jednym wzorze, a 0 zapisano, by było wiadomo, jak wzór powstał. Po jego wyeliminowaniu wzór przybiera postać:

$$N_3(x) = 11 + {5 \over 2} \cdot (x - 3) - {1 \over 30} \cdot (x - 3) (x-5) (x - 7) \tag 6 \label {eq:6}$$

Ale możemy też zapisać wzór „po dolnym trójkącie”:

$$N_3(x) = 25 + {4 \over 3} \cdot (x - 10) - {7 \over 30} \cdot (x - 7) (x - 10) - {1 \over 30} \cdot (x - 5) (x - 7) (x - 10) \tag 7 \label {eq:7} $$

Zauważamy ten schemat? Wzór jakby narasta wraz z kolejnym składnikiem o wyrażenie $x-x_i$, gdzie $x_i$ jest współrzędną $x$ kolejnego punktu: licząc od początku, jeśli wybieramy górny trójkąt, albo od końca, jeśli wybieramy dolny.

Czytelnicy ze smykałką do programowania od razu zauważą, że wartości takiego wielomianu świetnie oblicza się w pętli, wykorzystując namnażanie przyrostowe — w Pascalu byłoby to:

iloczyn := iloczyn*(x - x[i])

czy też w C prościej:

iloczyn *= x - x[i];

Oczywiście wzory (6) oraz (7) po przekształceniu doprowadzą do wielomianu (2), co Czytelnik może sprawdzić samodzielnie. Z tego też powodu zarówno w postaci (6), jak i (7), występuje ten sam współczynnik $-{1 \over 30}$. Jak już bowiem powiedziano, wielomian interpolacyjny Newtona nie jest żadnym innym, specjalnego rodzaju wielomianem, ale jest to po prostu wzór interpolacyjny na wyznaczenie wielomianu interpolacyjnego bez de facto wyznaczania jego współczynników w postaci ogólnej (1).

Wzór interpolacyjny Newtona posiada także swoją specjalną wersję, przeznaczoną dla argumentów równoodległych. U nas nie miałby on zastosowania, gdyż pierwsze trzy punkty są wprawdzie równoodległe $(3; 5; 7)$ — różnica między nimi wynosi 2 (tworzą więc ciąg arytmetyczny), ale kolejny punkt ma współrzędną $x$ równą 10 i z tego ciągu się wyłamuje. W tym artykule nie będziemy jednak omawiać tego wzoru — być może poświęcimy mu odrębny artykuł.

Istnieje wiele metod interpolacji i zagadnień związanych z interpolacją, jak interpolacja funkcjami giętkimi (splajnami), interpolacja Hermite’a czy wybór węzłów interpolacyjnych w oparciu o wzór Czebyszewa. Również zasługują one na inny, obszerny artykuł.

Aproksymacja

O co chodzi w aproksymacji?

Głównym tematem niniejszego artykułu nie jest szczegółowe omawianie zagadnień interpolacji czy aproksymacji, ale przede wszystkim uzmysłowienie podstawowej różnicy między tymi metodami.

W odróżnieniu bowiem od interpolacji, dla której najważniejszą kwestią było, aby wyznaczyć taką funkcję, która pozwoli dla zadanych współrzędnych $x_i$ otrzymać dokładne wartości $y_i$ — czyli (dla „wzrokowców”) aby otrzymać taką krzywą, która przejdzie przez wszystkie punkty — aproksymacja szuka takiej krzywej, która jak najlepiej dopasuje się do ułożenia tychże punktów, niekoniecznie przez nie przechodząc.

Jak zauważyliśmy na wykresie sporządzonym dla danych z naszej tabeli, punkty układały się „mniej więcej” wzdłuż linii prostej — co jest logiczne, bo im więcej waży zwierzę, tym więcej preparatu należy mu zaaplikować. Wielomian interpolacyjny świetnie się do tych punktów dopasował, ale poza obszarem objętym interpolacją zupełnie z owym spodziewanym liniowym wzrostem się rozjechał.

Aproksymacja tutaj, jak za chwilę zobaczymy, okaże się znacznie lepszym narzędziem. Polega ona bowiem na wyznaczeniu takiej funkcji aproksymującej $A(x)$, że łączna, szeroko pojęta różnica (odległość) pomiędzy wartościami funkcji aproksymującej a wartościami empirycznymi $y_i$ będzie jak najmniejsza:

$$\sum_{i=0}^n d \left( y_i, A(x_i) \right) \rightarrow \min$$

Owa różnica, czy też odległość, może być bardzo różnie zdefiniowana. Nie może być to po prostu różnica: $d \left( y_i, A(x_i) \right) = y_i - A(x_i)$, gdyż wówczas nawet bardzo duże odległości ujemne znosiłyby się (kompensowały) z odległościami dodatnimi i dopasowanie wyszłoby fatalne. Już całkiem niegłupia byłaby wartość bezwzględna: $d \left( y_i, A(x_i) \right) = |y_i - A(x_i)|$, ale ona z kolei jest funkcją „ciężką” obliczeniowo, choćby dlatego, że jej wykresem jest litera V (co oznacza, że nie jest różniczkowalna w zerze)1.

Aproksymacja średniokwadratowa

Znacznie lepszą odległością jest kwadrat różnicy: $d \left( y_i, A(x_i) \right) = \left( y_i - A(x_i) \right)^2$. Przyjęcie takiej funkcji prowadzi do najpopularniejszego wariantu aproksymacji, czyli aproksymacji średniokwadratowej. W aproksymacji tej funkcję $A(x)$ dopasowujemy w taki sposób, aby:

$$\sum_{i=0}^n \left( y_i - A(x_i) \right)^2 \rightarrow \min \tag 8 \label {eq:8}$$

Aby troszkę wszystko „udziwnić” i utrudnić, często wprowadza się dodatek w postaci tzw. funkcji wagowej $w(x)$, wówczas wzór (8) przyjmuje postać:

$$\sum_{i=0}^n w(x_i) \left( y_i - A(x_i) \right)^2 \rightarrow \min \tag 9 \label {eq:9}$$

O co chodzi z funkcją wagową? Otóż możemy sobie zdecydować, że nie wszystkie punkty są jednakowo ważne. Dokładniejsze dopasowanie do pewnych punktów uznać możemy za znacznie ważniejsze niż dopasowanie do innych. Aby to osiągnąć, po prostu tym ważniejszym punktom przypisujemy wyższą wartość funkcji wagowej niż tym mniej ważnym i aparat matematyczny metody, o którym wkrótce napiszemy, minimalizując wyrażenie (9), zadba o to, by uczynić zadość naszym preferencjom.

Póki co jednak, dla uproszczenia, załóżmy, że nie uwzględniamy funkcji wagowej, czyli przyjmujemy $w(x_i) = 1$, a zatem wszystkie punkty są dla nas jednakowo ważne. Jak wyznaczyć funkcję $A(x)$?

Aby wyznaczyć funkcję aproksymującą $A(x)$, należy w pierwszej kolejności ustalić postać tej funkcji. W przypadku aproksymacji zakładaną postać funkcji aproksymującej definiuje się w oparciu o tzw. funkcje bazowe. Definicja taka wygląda następująco:

$$A(x) = a_0 \cdot \varphi_0(x) + a_1 \cdot \varphi_1(x) + ... + a_m \cdot \varphi_m(x) \tag {10} \label {eq:{10}}$$

gdzie $\varphi_j(x)$ są przyjętymi funkcjami bazowymi, natomiast $a_j$ to poszukiwane wartości współczynników.

Wygląda to groźnie, ale w praktyce jest znacznie łatwiejsze. Przypuśćmy, że chcemy przyjąć $A(x)$ jako funkcję liniową (czyli wielomian stopnia pierwszego), tj.:

$$A(x) = a_0 + a_1 x \tag {11} \label {eq:{11}}$$

wówczas, porównując wyrażenia (10) oraz (11), zauważamy, że funkcjami bazowymi będą: $\varphi_0 (x) = 1$ oraz $\varphi_1 (x) = x$. Możemy przyjmować najróżniejsze postaci funkcji bazowych. Wybór uzasadniony powinien być albo układem punktów empirycznych, a najlepiej powinien być uzasadniony merytorycznie. Przykładowo jeśli punkty empiryczne są wynikami pomiaru wydłużenia próbki materiału pod wpływem działającej siły, spodziewamy się zależności liniowej i taką też funkcję dobieramy. Jeśli jest to np. pomiar temperatury stygnącego obiektu, dokonywany w określonych odstępach czasu, wówczas należałoby dobrać funkcję wykładniczą, itd.

W przypadku danych przedstawionych w naszej wyjściowej tabeli, wydaje się, że najwłaściwszą funkcją będzie właśnie funkcja liniowa.

Współczynniki $a_0, a_1, ..., a_m$ funkcji aproksymującej oblicza się najczęściej wzorami macierzowymi.

Zdefiniujmy następujące macierze:

$\mathbf F = \left[ \begin{matrix} \varphi_0(x_0) & \varphi_1(x_0) & ... & \varphi_m(x_0) \\ \varphi_0(x_1) & \varphi_1(x_1) & ... & \varphi_m(x_1) \\ ... & ... & ... & ... \\ \varphi_0(x_n) & \varphi_1(x_n) & ... & \varphi_m(x_n) \end {matrix} \right]$    $\boldsymbol y = \left[ \begin {aligned} y_0 \\y_1 \\... \\y_n \end {aligned} \right]$   

$\mathbf F$ jest macierzą wartości funkcji bazowych dla naszych punktów empirycznych, natomiast wektor $\boldsymbol y$ jest wektorem współrzędnych $y$ naszych punktów.

Wektor $\boldsymbol a$ współczynników funkcji aproksymującej $A(x)$ obliczamy ze wzoru:

$$\boldsymbol a = \left[ \begin {aligned} a_0 \\ a_1 \\ ... \\ a_m \end {aligned} \right] = \left( {\mathbf F}^{\top} {\mathbf F} \right)^{-1} \cdot {\mathbf F}^{\top} {\boldsymbol y} \tag {12} \label {eq:{12}}$$

Jeśli ktoś zetknął się kiedyś z ekonometrią, wzór (12) może wydawać mu się dziwnie znajomy. Skojarzenie jest jak najbardziej trafne! Aproksymacja średniokwadratowa i estymacja parametrów równania regresji wielorakiej metodą najmniejszych kwadratów to — z matematycznego punktu widzenia — praktycznie jedno i to samo. Różnice są przede wszystkim natury merytorycznej. Przy aproksymacji nie analizuje się właściwości reszt (błędów aproksymacji) pod kątem stałości wariancji czy autokorelacji. Wyznaczonych wartości współczynników funkcji aproksymującej $A(x)$ nie traktuje się jak estymatorów, gdyż nie traktujemy punktów empirycznych jako próby losowej.

Regresja wieloraka kładzie większy nacisk na zależność przyczynowo-skutkową pomiędzy zmienną zależną a zmiennymi objaśniającymi, a w aproksymacji liczy się przede wszystkim dopasowanie matematyczne. W regresji wielorakiej kolumny macierzy $\mathbf F$, zwanej tam zazwyczaj macierzą $\mathbf X$, są wartościami kolejnych zmiennych objaśniających, podczas gdy w aproksymacji są to wartości funkcji bazowych wyliczone dla tego samego zestawu współrzędnych $x$. Można powiedzieć, że aproksymacja to taka regresja wieloraka, w której zmiennymi objaśniającymi są funkcje bazowe. Jak powiedziano, w zastosowaniach praktycznych czasem jednak się zdarza, że dobór poszczególnych funkcji bazowych wynika z przesłanek merytorycznych.

Wyliczmy zatem postać liniowej funkcji aproksymującej średniokwadratowo dane z naszej tabeli. Funkcje bazowe, jak wspomniano, mieć będą postać $\varphi_0 (x) = 1$ oraz $\varphi_1 (x) = x$. Nasze macierze równe będą:

$\mathbf F = \left[ \begin{matrix} 1 & 3 \\ 1 & 5 \\ 1 & 7 \\ 1 & 10 \end {matrix} \right]$    $\boldsymbol y = \left[ \begin {aligned} 11 \\ 16 \\ 21 \\ 25 \end {aligned} \right]$  

Obliczamy wartości poszczególnych iloczynów macierzy:

$${\mathbf F}^{\top}{\mathbf F} = \left[ \begin{matrix} 1 & 1 & 1 &1 \\ 3 & 5 & 7 & 10 \end {matrix} \right] \cdot \left[ \begin{matrix} 1 & 3 \\ 1 & 5 \\ 1 & 7 \\ 1 & 10 \end {matrix} \right] = \left[ \begin{matrix} 4 & 25 \\ 25 & 183 \end{matrix} \right]$$

$${\mathbf F}^{\top}{\mathbf y} = \left[ \begin{matrix} 1 & 1 & 1 &1 \\ 3 & 5 & 7 & 10 \end {matrix} \right] \cdot \left[ \begin{matrix} 11 \\ 16 \\ 21 \\ 25 \end {matrix} \right] = \left[ \begin{matrix} 73 \\ 510 \end{matrix} \right]$$

Stosujemy wzór (12):

$$\boldsymbol a = \left[ \begin{matrix} 4 & 25 \\ 25 & 183 \end{matrix} \right]^{-1} \cdot \left[ \begin{matrix} 73 \\ 510 \end{matrix} \right]$$

Obliczenie macierzy odwrotnej do macierzy $2 \times 2$ jest bardzo proste, więc możemy je zaprezentować:

$$\left[ \begin{matrix} 4 & 25 \\ 25 & 183 \end{matrix} \right]^{-1} = {1 \over {4 \cdot 183 - 25 \cdot 25}} \cdot \left[ \begin{matrix} 183 & -25 \\ -25 & 4 \end{matrix} \right] $$

$$ = {1 \over 107} \cdot \left[ \begin{matrix} 183 & -25 \\ -25 & 4 \end{matrix} \right] $$

$${\boldsymbol a} = {1 \over 107} \cdot \left[ \begin{matrix} 183 & -25 \\ -25 & 4 \end{matrix} \right] \cdot \left[ \begin{matrix} 73 \\ 510 \end{matrix} \right] $$

$${\boldsymbol a} = \left[ \begin{matrix} {609 \over 107} \\ {215 \over 107} \end{matrix} \right] = \left[ \begin{matrix} 5,692 \\ 2,009 \end{matrix} \right] $$

Funkcja aproksymująca ma postać:

$$A(x) = 5,692 + 2,009x$$

Dopasowanie wyznaczonej linii pokazuje poniższy wykres:

Aproksymacja średniokwadratowa
Aproksymacja średniokwadratowa funkcją liniową 

Tym razem, poza zakresem zmienności zmiennej $x$, funkcja nie zmienia tendencji, co jest oczywiste w przypadku funkcji liniowej.

Obliczmy wartość funkcji aproksymującej dla $x = 5,8$:

$$A(5,8) = 5,692 + 2,009 \cdot 5,8 = 17,34$$

Wartość ta jest nieco niższa niż otrzymana w wyniku interpolacji liniowej przeprowadzonej między punktami $(5; 16)$ oraz $(7; 21)$. Na wykresie wyraźnie widać przyczynę takiego stanu rzeczy. Odcinek łączący wskazane punkty znajduje się powyżej wykresu wyznaczonej funkcji aproksymującej.

Dla porównania wyliczmy wartość funkcji aproksymującej w postaci wielomianu drugiego stopnia. Funkcje bazowe mają w tym wypadku postać: $\varphi_0(x) = 1$, $\varphi_1(x) = x$, $\varphi_2(x) = x^2$.

Macierz $\mathbf F$ ma w tym wypadku postać:

$$\mathbf F = \left[ \begin{matrix} 1 & 3 & 9 \\ 1 & 5 & 25 \\ 1 & 7 & 49 \\ 1 & 10 & 100\end {matrix} \right]$$

Wyliczona postać wielomianu aproksymującego:

$$A(x) = 0,495 + 3,888x - 0,143x^2$$

Wykres dopasowania obu funkcji pokazano na poniższym rysunku.

Aproksymacja średniokwadratowa
Aproksymacja średniokwadratowa wielomianem stopnia drugiego 

Widać tu podobną „słabość”, jak w przypadku interpolacji. Wielomian drugiego stopnia świetnie dopasowuje się do punktów empirycznych, niemalże przez nie przechodząc. Wyliczone wartości funkcji aproksymującej wynoszą $A(3) = 10,87$, $A(5) = 16,36$, $A(7) = 20,70$, $A(10) = 25,06$, czyli są bardzo zbliżone do wartości $y_0 = 11$, $y_1 = 16$, $y_2 = 21$, $y_3 = 25$.

Aproksymacja interpolacją

Ale do najciekawszych konkluzji dochodzimy, gdy próbujemy znaleźć funkcję aproksymującą w postaci wielomianu trzeciego stopnia. Funkcjami bazowymi będą $\varphi_0(x) = 1$, $\varphi_1(x) = x$, $\varphi_2(x) = x^2$, $\varphi_3(x) = x^3$.

Macierz $\mathbf F$ ma wówczas postać:

$$\mathbf F = \left[ \begin{matrix} 1 & 3 & 9 & 27 \\ 1 & 5 & 25 & 125 \\ 1 & 7 & 49 & 343 \\ 1 & 10 & 100 & 1000\end {matrix} \right]$$

Gdzieś taką macierz już chyba widzieliśmy… Tak! Jest to przecież macierz współczynników z zadania interpolacji wielomianowej! Dochodzimy tu bowiem do najważniejszego odkrycia. Otóż w pewnej szczególnej sytuacji, a mianowicie: gdy liczba wyznaczanych parametrów funkcji aproksymującej równa jest liczbie punktów empirycznych i macierz układu jest odwracalna, wtedy aproksymacja staje się interpolacją.

To niesamowite. Przekonywaliśmy, że to dwa odrębne zagadnienia, że się różnią, a jednak. Posiadają one pewien „wspólny mianownik” w postaci tego, że czasem po prostu aproksymacja staje się interpolacją. Dlaczego tak? Zarówno funkcja interpolująca, jak i aproksymująca posiadają parametry — tutaj były nimi współczynniki wielomianu. Działają one jak pokrętła sterujące. Zmieniając wartości poszczególnych współczynników, można coraz bardziej dopasować funkcję do przebiegu punktów empirycznych, tak samo, jakbyśmy kręcili pokrętłami skomplikowanej maszyny.

Gdy pokręteł jest mniej niż punktów, zazwyczaj nie damy rady idealnie dopasować się do wszystkich punktów. Kręcąc dwoma pokrętłami, gdy punkty są cztery, zawsze coś poprawiając, gdzie indziej coś zepsujemy. Mamy wówczas aproksymację — dopasowanie jak najlepsze, ale nieidealne.

Gdy jednak liczba pokręteł jest równa liczbie punktów, można sobie wyobrazić, że jednym pokrętłem dopasowujemy do jednego punktu, innym do innego — dając w ten sposób radę dopasować się do wszystkich. Mamy interpolację. To oczywiście spore uproszczenie, ale dobrze oddaje matematyczny sens opisywanej sytuacji.

Z drugiej strony idealność dopasowania nie jest celem samym w sobie, bo najczęściej płacimy za nią całkowicie bezsensownym przebiegiem funkcji poza oknem interpolacji. Można powiedzieć, że aproksymacja, starając się kilkoma tylko parametrami dopasować do wielu punktów, robi coś uniwersalnego — dopasowanie na tyle dobre, że jeśli punktów dołożymy, to nadal efekt jej działania będzie miał sens. Interpolacja natomiast kreuje „fachowca od jednej śrubki”. Funkcję, która tak koncentruje się na dokładnym dopasowaniu do wszystkiego, co jest, że zupełnie się kompromituje, gdy coś nowego przybędzie.

Omawiając interpolację, zaznaczyliśmy, że interpolować możemy tylko wówczas, gdy wśród punktów empirycznych nie ma dwu (lub więcej) takich, które mają jednakową wartość współrzędnej $x$, a różne wartości zmiennej $y$. Aproksymacji to w żaden sposób nie przeszkadza, o ile nie jest to ten przypadek, gdy aproksymacja przeszła w interpolację.

Inne aproksymacje

Warto na zakończenie zasygnalizować, że korzystając z odpowiednich przekształceń, można aproksymować najróżniejszymi funkcjami. Przykładowo można zastosować potęgową funkcję aproksymującą:

$$A(x) = a_0 \cdot x^{a_1} \tag {13} \label {eq:{13}}$$

jakie będą wówczas funkcje bazowe? Aby je wyznaczyć, logarytmujemy obie strony równania (13):

$$\ln A(x) = \ln \left( a_0 \cdot x^{a_1} \right)$$

$$\ln A(x) = \ln a_0 + a_1 \cdot \ln x \tag {14} \label {eq:{14}}$$

Jeśli teraz podstawimy $B(x) = \ln A(x)$, $z = \ln x$, $b_0 = \ln a_0$, $b_1 = a_1$, otrzymamy:

$$B(z) = b_0 + b_1 \cdot z$$

czyli najzwyklejszą aproksymację funkcją liniową. Po wyznaczeniu wartości parametrów $b_0$ oraz $b_1$ dokonujemy zwrotnego podstawienia $a_0 = e^{b_0}$, $a_1 = b_1$ i w ten sposób mamy wyznaczoną postać (13).

Innym ciekawym zagadnieniem związanym z aproksymacją jest aproksymacja ciągła. Dotychczas omawiana aproksymacja była aproksymacją dyskretną, polegającą na jak najlepszym dopasowaniu funkcji aproksymującej do pewnej skończonej liczby punktów empirycznych. W aproksymacji ciągłej dopasowujemy funkcję nie do punktów, a do innej ciągłej funkcji. Czyli łączna odległość liczona jest nie od skończonej liczby punktów, ale od całego kontinuum punktów tamtej funkcji. Ciągłym odpowiednikiem sumy jest całka, zatem odpowiednikami wzorów (8) i (9) dla aproksymacji ciągłej na przedziale $\left \langle a, b \right \rangle$ są:

$$\int_a^b \left( f(x) - A(x) \right)^2 \,dx \rightarrow \min$$

oraz z funkcją wagową:

$$\int_a^b w(x) \cdot \left( f(x) - A(x) \right)^2 \,dx \rightarrow \min $$

W ten sposób uogólnić można oczywiście tylko aproksymację. Ciągła wersja interpolacji nie miałaby sensu, gdyż po prostu funkcją interpolującą musiałaby być ta sama funkcja, co funkcja interpolowana — przynajmniej na wskazanym przedziale.


  1. Niektórzy twierdzą, że wartość bezwzględna nie jest funkcją elementarną. Oczywiście powinni oni jak najszybciej wrócić do szkoły, albo zapisać się na nasze korepetycje, bo przecież $|x| = \sqrt {x^2}$, czyli jest jak najbardziej funkcją elementarną. ↩︎

Odchylenie standardowe i wariancja, jako miary rozrzutu

Wprowadzenie

Każdy nowy klient korzystający z moich korepetycji ze statystyki (zresztą podobnie jak w przypadku innych przedmiotów) proszony jest o pokazanie notatek, prezentacji z uczelni bądź — jako wariant minimum — karty wzorów. Jak wiadomo, uczelnie, a także poszczególni prowadzący zajęcia i wykłady, różnią się pod względem zakresu przerabianego materiału, przyjętej konwencji oznaczeń, a także wzorów na konkretne miary statystyczne. Jedną z ważniejszych i bardzo istotnych różnic jest rozumienie pojęcia odchylenia standardowego i wzory stosowane do obliczenia tej miary.

Spis treści

Czym jest odchylenie standardowe?

Odchylenie standardowe to najpowszechniejsza klasyczna miara rozrzutu danych. Klasyczna dlatego, że w wyliczeniu odchylenia standardowego biorą udział wszystkie dane w szeregu, a nie tylko niektóre, jak ma to miejsce w przypadku miar pozycyjnych. Rozrzutu — zwanego także zróżnicowaniem bądź dyspersją — dlatego, że mierzy ono, jak bardzo poszczególne wartości cechy w badanej zbiorowości różnią się między sobą.

Jeżeli mamy $n$-elementową zbiorowość, daną szeregiem szczegółowym: $X=\{x_1, x_2,...,x_n \}$, to odchylenie standardowe, oznaczane najczęściej symbolem $s$, wyraża się wzorem:

$$s=\sqrt{ {1 \over n} \cdot \sum_{i=1}^n \left(x_i - \bar x \right)^2} \tag 1 \label{eq:1}$$

Najczęściej odchylenie standardowe definiuje się po prostu jako pierwiastek z wariancji:

$$s=\sqrt{s^2}$$

a samą wariancję definiuje się wzorem:

$$s^2={1 \over n} \cdot \sum_{i=1}^n \left(x_i - \bar x \right)^2 \tag 2 \label{eq:2}$$

W dalszej części niniejszego artykułu wariancja pojawiać się będzie bardzo często, być może nawet nieco częściej niż odchylenie standardowe. Wynika to ze ścisłego związku tych miar, a obliczenie odchylenia standardowego zawsze wymaga — jawnego bądź niejawnego — obliczenia wariancji, stąd wszelkie niemal uwagi tyczą się obydwu tych miar.

Jak widać, obliczenie wariancji oraz odchylenia standardowego wymaga w pierwszej kolejności obliczenia średniej arytmetycznej:

$$\bar x = {1 \over n} \cdot \sum_{i=1}^n x_i$$

Ponieważ bardzo często średnia ma część ułamkową, każdorazowe obliczanie odchyłki od średniej $x_i - \bar x$ może być żmudne (gdy musimy obliczenia prowadzić „ręcznie”) i prowadzić do kumulowania błędów zaokrągleń. Często stosuje się więc równoważny wzór na wariancję, pozbawiony tej niedogodności:

$$s^2={1 \over n} \cdot \sum_{i=1}^n x_i^2 - \left( \bar x \right)^2 \tag 3 \label {eq:3}$$

W tym przypadku do kwadratu podnosimy same wartości zmiennej $x$, a kwadrat średniej odejmujemy tylko raz, na samym końcu. Wadą tego sposobu jest z kolei to, że otrzymujemy dość wysokie liczby, gdyż podnosimy bezpośrednio nasze dane, a nie ich odchyłki od średniej. Generalnie więc wybór wariantu wzoru podyktowany jest tylko wygodą obliczającego, gdyż oba warianty wzoru dają jednakowe wyniki, a ewentualne drobne różnice wyniknąć mogą tylko i wyłącznie z błędów zaokrągleń. Jeśli średnia arytmetyczna wyraża się liczbą całkowitą, wybieramy wariant (2), a jeśli jest to jakiś „skomplikowany”, okresowy ułamek — wówczas optymalnym wyborem staje się (3).

Nie na tym jednak polega największy problem z odchyleniem standardowym i wariancją, jako pojęciami obecnymi w kursie statystyki na najróżniejszych kierunkach wyższych uczelni.

Próbka a populacja

Źródłem największej ilości nieporozumień oraz niezrozumienia (i to niezrozumienia po obu stronach wykładowej auli) jest to, że w statystycznym „obiegu”, równolegle do wariancji (a tym samym i odchylenia standardowego, jako pierwiastka kwadratowego z wariancji) określonej wzorami (2) oraz (3), funkcjonuje jeszcze tak zwana wariancja próbkowa, a dokładniej — skorygowana wariancja z próby, często oznaczana jako ${\hat s}^2$, wyliczana ze wzoru:

$${\hat s}^2={1 \over {n-1}} \cdot \sum_{i=1}^n \left(x_i - \bar x \right)^2 \tag 4 \label{eq:4}$$

Jak widać, różni się ona od omówionej wcześniej wariancji występowaniem w mianowniku $n-1$ w miejsce $n$. Wariancja ta bywa czasem oznaczana ${\hat \sigma }^2$, choć bardzo często bywa również oznaczana przez $s^2$, zwłaszcza przez tych prowadzących, którzy w ogóle „nie uznają” wariancji wyliczonej ze wzorów (2) oraz (3).

Oczywiście pierwiastek z wariancji próbkowej to odchylenie standardowe próbkowe, oznaczane odpowiednio przez $\hat s$, $\hat \sigma$ lub czasem, niestety, po prostu przez $s$.

Dla wariancji próbkowej również istnieje alternatywny wzór, przydatny wówczas, gdy średnia arytmetyczna z danych jest ułamkowa. Wówczas można wariancję próbkową obliczyć ze wzoru:

$${\hat s}^2={1 \over {n-1}} \cdot \sum_{i=1}^n x_i^2 - {n \over{n-1}} \cdot \left( \bar x \right)^2 \tag 5 \label {eq:5}$$

Można także, oczywiście, przeliczać między jedną a drugą wariancją, korzystając z zależności:

$${\hat s}^2 = {n \over {n-1}} \cdot s^2$$

Oczywiście, jak łatwo wywnioskować ze wzorów, wariancja próbkowa ${\hat s}^2$ zawsze jest nieco wyższa od wariancji $s^2$ (zwanej często, dla odróżnienia, wariancją populacyjną) i różnica ta jest tym mniejsza, im większa jest liczebność zbioru danych $n$, co jest oczywiste.

Po co to wszystko? Dlaczego dwie różne wariancje?

Otóż prawidłowy wybór określonego rodzaju wariancji zależy od tego, w jaki sposób traktujemy badaną zbiorowość statystyczną. Jeśli nasz zbiór danych jest kompletną populacją, czyli badamy wszystkie jednostki, wówczas jedynym słusznym wyborem jest wariancja „populacyjna”, określona wzorami (2) oraz (3) i ewentualnie odchylenie standardowe „populacyjne” jako pierwiastek z tej wariancji.

A zatem jeśli chcemy wyliczyć odchylenie standardowe np. wzrostu wszystkich studentów w naszej grupie, to wszystkich ich mierzymy i obliczając wariancję, korzystamy wyłącznie ze wzoru (2) lub (3). Obliczenie wariancji próbkowej będzie w takim wypadku błędem (choć niektórzy nauczyciele akademiccy, niestety, są innego zdania).

Jeśli jednak badana zbiorowość statystyczna jest tylko próbką, wybraną w sposób losowy z jakiejś większej zbiorowości i chcemy nie tyle obliczyć wariancję w naszej próbce, co oszacować (estymować) wariancję w całej populacji, wówczas właściwym wyborem jest wariancja próbkowa, do wyliczenia której stosujemy wzór (4) lub (5) i pierwiastek z tej wariancji wyliczamy jako odchylenie standardowe.

Jeśli więc, chcąc oszacować odchylenie standardowe masy ciała wszystkich dorosłych mieszkańców miasta, dysponujemy masą ciała np. pięćdziesięciu w reprezentatywny (najlepiej losowy) sposób wybranych mieszkańców, to wyliczymy wariancję próbkową i pierwiastek z niej będzie owym poszukiwanym oszacowaniem.

Ważna uwaga. Jak wynika z postaci przytoczonych wyżej wzorów, do wyliczenia wariancji (czy to „populacyjnej”, czy też próbkowej) potrzebna jest średnia arytmetyczna. W przypadku szacowania wariancji na podstawie próbki, ową średnią arytmetyczną traktujemy jako oszacowanie przeciętnej wartości zmiennej w populacji (czyli oszacowanie tzw. wartości oczekiwanej tej zmiennej). Gdybyśmy jednak w jakiś cudowny sposób znali tę przeciętną wartość — nie oszacowaną, ale dokładną (oznaczmy ją przez $\mu$) — to wówczas wariancję na podstawie próby policzylibyśmy ze wzoru:

$${\hat s}^2={1 \over n} \cdot \sum_{i=1}^n \left(x_i - \mu \right)^2 \tag 6 \label{eq:6}$$

bądź alternatywnie (gdyby np. $\mu$ było ułamkowe):

$${\hat s}^2={1 \over n} \cdot \sum_{i=1}^n x_i^2 - \left( \mu \right)^2 \tag 7 \label {eq:7}$$

A zatem, pomimo iż nadal mówimy o szacowaniu wariancji na podstawie próby, mamy nie $n-1$, a po prostu $n$. Dlaczego tak się dzieje? Wyjaśnienie jest proste.

Załóżmy, że nic nie wiemy o przeciętnej wadze mieszkańców jakiejś odległej planety. Wysłana sonda kosmiczna zważyła losowo wybranego jednego mieszkańca tej planety. Powiedzmy, że ważył on 150 kg. Co możemy na podstawie tej próbki oszacować? Czy możemy oszacować przeciętną masę ciała, a może jej rozrzut?

Jeśli chodzi o przeciętną masę ciała, jak najbardziej możemy ją oszacować, obliczając po prostu średnią arytmetyczną z próby. Ponieważ $n=1$, toteż średnia równa jest po prostu wartości jedynej danej, jaką dysponujemy, i wynosi ona $\bar x = 150$. Oczywiście mogliśmy mieć niefart i „trafił” nam się akurat jakiś nietypowy mieszkaniec planety, ale dzięki tak nawet szczątkowej informacji można sformułować twierdzenie, że tamtejsi kosmici są nieco ciężsi od ludzi, ale nie są to raczej ani krasnoludki, ani dinozaury. Czy jednak możemy cokolwiek powiedzieć o zróżnicowaniu masy ciała kosmitów na tamtejszej planecie? Nie! Nie jesteśmy w stanie powiedzieć o niej absolutnie nic. Skąd mamy wiedzieć, czy są oni pod względem masy bardziej, czy mniej zróżnicowani, skoro mamy tylko masę ciała jednego osobnika?

Obliczenie wariancji „populacyjnej” nic nam nie da, gdyż dla $n=1$ wariancja wyjdzie zawsze zero — tak samo, jak dla szeregu składającego się z $n$ takich samych wartości. Wariancji próbkowej natomiast nie policzymy, z uwagi na $n-1$ w mianowniku — w naszym przypadku w mianowniku tym znalazłoby się zero. Już rozumiemy, skąd owo $n-1$ w „próbkowych” wariantach wzorów, prawda?

Sytuacja diametralnie się zmieni, gdy będziemy dysponowali masą ciała dwóch osobników zamiast jednego. Wtedy policzymy wariancję próbkową i pierwiastek z niej. Ale nie tylko wtedy. Rozrzut masy ciała wspomnianych kosmitów na podstawie jednoelementowej próbki oszacujemy także wówczas, gdybyśmy jakimś „cudem” posiadali informację o przeciętnej masie ciała w całej populacji. Gdybyśmy wiedzieli np., że ta wartość oczekiwana masy wynosi 150 kg i nasz jedyny zważony osobnik również waży 150 kg, to już mielibyśmy wystarczającą informację, by spodziewać się bardzo niewielkiego zróżnicowania masy ciała, nie wykluczając opcji, że wszyscy, jak jeden mąż, ważą 150 kg.

Gdyby z naszych informacji wynikało, że przeciętna masa wynosi 200 kg, to również mielibyśmy jakąś orientację przynajmniej o rzędzie wielkości różnic masy analizowanych kosmitów. No to już chyba jasne, skąd we wzorach (6) oraz (7) wzięło się $n$?

Odchylenie standardowe we wnioskowaniu statystycznym

Nieporozumienia związane z omówionymi dwoma rodzajami odchylenia standardowego pojawiają się także bardzo często przy okazji kursu statystyki matematycznej. Choć w teorii estymacji bardziej właściwą miarą jest próbkowe odchylenie standardowe, to jego populacyjny odpowiednik również się tam pojawia.

W zagadnieniach związanych z estymacją średniej (wartości oczekiwanej) oraz weryfikacją hipotez dotyczących wartości oczekiwanej niezbędne jest obliczenie standardowego błędu estymacji średniej. Jest on niezbędny zarówno do wyznaczenia krańców przedziału ufności dla wartości oczekiwanej, jak też do wyznaczenia statystyki testowej w teście istotności dotyczącym wartości oczekiwanej. Standardowy błąd estymacji średniej oznacza, o ile średnio estymator wartości oczekiwanej w populacji (czyli średnia arytmetyczna z próby) różni się od rzeczywistej, nieznanej wartości oczekiwanej w populacji generalnej.

W stosunkowo rzadkim przypadku, gdy znamy odchylenie standardowe w populacji generalnej (tzw. „model I”), standardowy błąd estymacji średniej wyraża się wzorem:

$$S \left( \bar x \right) = {\sigma \over {\sqrt n}} \tag 8 \label {eq:8}$$

W pozostałych jednak — znacznie bardziej realistycznych — przypadkach, gdy odchylenie standardowe w populacji generalnej pozostaje nieznane, standardowy błąd estymacji średniej wylicza się za pomocą wzoru:

$$S \left( \bar x \right) = {s \over {\sqrt {n-1}}} \tag 9 \label {eq:9}$$

lub też:

$$S \left( \bar x \right) = {{\hat s} \over {\sqrt n}} \tag {10} \label {eq:10}$$

Jak więc wynika z porównania wzorów (9) oraz (10), w zależności od tego, jaki rodzaj odchylenia standardowego wyliczono z próby, w mianowniku wzoru na standardowy błąd estymacji średniej pojawia się albo $\sqrt{n-1}$, albo $\sqrt n$.

Najprościej zapamiętać sobie, że obowiązuje zasada „obu pierwiastków”, czyli $\sqrt{n-1}$ oraz $\sqrt n$. Albowiem jeśli do wyliczenia standardowego błędu estymacji średniej użyto „populacyjnego” odchylenia standardowego, które zawiera już w sobie pierwiastek z $n$, to w mianowniku pojawi się pierwiastek z $n-1$. I na odwrót, jeśli użyjemy próbkowego odchylenia standardowego, które ma w swojej formule zawarty pierwiastek z $n-1$, to we wzorze na standardowy błąd estymacji pojawić się musi pierwiastek z $n$. Innymi słowy, podstawiając do wzoru (9) wzór (2) albo też do wzoru (10) wzór (4), dostaniemy finalnie:

$$S \left( \bar x \right) = \sqrt{{\sum_{i=1}^n \left(x_i - \bar x \right)^2} \over {n \cdot (n -1)}} \tag {11} \label{eq:11}$$

Wszystko jest jasne i oczywiste, jeśli mamy dane wartości i sami z nich wyliczamy średnią oraz odchylenie standardowe. Wówczas to do nas należy decyzja, czy liczymy odchylenie standardowe „populacyjne”, czy próbkowe i którego wariantu wzoru finalnie użyjemy. Problem pojawia się wówczas, gdy — jak to ma miejsce na większości kolokwiów czy egzaminów — wyznaczyć musimy przedział ufności bądź zweryfikować hipotezę w oparciu o miary już wyliczone. Czyli mamy zadanie typu:

Producent śrubek chce sprawdzić, czy produkowane śrubki spełniają normy (…) w wyniku losowo pobranej próby 50 śrubek otrzymano średnią arytmetyczną równą 5,03 mm i odchylenie standardowe 0,05 mm (…).

Niestety w zadaniu tego typu trzeba zgadywać, jakie odchylenie standardowe jego autor miał na myśli. W praktyce korepetytorskiej najczęściej przeglądam notatki, karty wzorów bądź szukam podobnych zadań w prezentacjach. Pewien trop daje także liczebność próby. Zazwyczaj zadania są tak dobrane, by „łatwo się liczyło”. Skoro trzeba wyciągać pierwiastek, to bardzo często jest tak, że pierwiastek ten jest liczbą całkowitą. Jeśli więc w zadaniu z estymacji bądź hipotez mamy liczebność próby będącą pełnym kwadratem (9; 16; 25 itd.), to skłaniam się ku twierdzeniu, że „anonimowe” odchylenie standardowe, o którym mowa w treści zadania, to odchylenie próbkowe, bowiem wówczas korzystamy ze wzoru (10) i wyciągamy pierwiastek z $n$. Natomiast jeśli w zadaniu mamy kwadrat powiększony o 1, czyli $n$ wynosi 10; 17; 26; 37, czy tak, jak w naszym przykładzie, 50, to oznacza, że mamy wyciągać pierwiastek z $n-1$, czyli wymieniając bezimienne odchylenie standardowe w treści zadania, autor miał na myśli odchylenie „populacyjne”, a zatem obliczając standardowy błąd estymacji średniej, korzystać będziemy ze wzoru (9).

Tego typu śledztwo nie wyjaśnia wszystkich wątpliwości, gdyż prowadzący bardzo często „mieszają” wzory — np. w zadaniach z niewielką liczebnością próby (korzystających z rozkładu Studenta) domyślnie zakładają próbkowe odchylenie standardowe, ale już w przypadku dużej liczebności (gdy aproksymujemy rozkładem normalnym) zakładają wersję „populacyjną”. Niektórzy robią też dokładnie na odwrót. Jednak jest to temat na inny artykuł.

Obliczenia w Excelu

W arkuszu kalkulacyjnym Microsoft Excel korzystać można z obu rodzajów wariancji oraz odchylenia standardowego. Warto jednak mieć na uwadze, że w polskiej wersji tego programu standardowe, starsze nazwy formuł:

WARIANCJA()

ODCH.STANDARDOWE()

dotyczą wariancji próbkowej oraz próbkowego odchylenia standardowego (czyli tych z $n-1$ w mianowniku). Dodatkowo formuły te mają obecnie status funkcji zgodności, co oznacza, że Microsoft pozostawia je przede wszystkim ze względu na zgodność ze starszymi arkuszami, natomiast w nowych plikach zaleca stosowanie nowszych nazw funkcji.

Zamiast owych starszych formuł, do wyliczenia wariancji próbkowej oraz próbkowego odchylenia standardowego Microsoft rekomenduje formuły:

WARIANCJA.PRÓBKI()

ODCH.STANDARD.PRÓBKI()

Z kolei do obliczenia „populacyjnych” wersji obu miar służą obecnie formuły:

WARIANCJA.POP()

ODCH.STAND.POPUL()

W starszych arkuszach można też spotkać formuły:

WARIANCJA.POPUL()

ODCH.STANDARD.POPUL()

które również pełnią obecnie przede wszystkim funkcję zgodności ze starszymi wersjami Excela.

Dodatkowo nowsze formuły posiadają także warianty:

WARIANCJA.A(), ODCH.STANDARDOWE.A()

dla próbki, oraz

WARIANCJA.POPUL.A(), ODCH.STANDARD.POPUL.A()

dla populacji, w sposób niestandardowy traktujące tekst oraz wartości logiczne PRAWDAFAŁSZ. Podstawowe warianty formuł ignorują bowiem wartości tekstowe i logiczne w odwołaniach do komórek (traktują zawierające je komórki tak, jak gdyby były one puste). Natomiast warianty z .A na końcu traktują wartości tekstowe oraz FAŁSZ jak zera, natomiast wartości logiczne PRAWDA traktują jak liczbę 1.

Programowanie liniowe – metoda graficzna

Wprowadzenie

Metoda graficzna to najbardziej podstawowa metoda rozwiązywania zadań programowania liniowego, od której student zaczyna swoją „przygodę” z przedmiotem badania operacyjne.

W tym artykule przedstawię najważniejsze cechy tej metody, istotne „tricki” ułatwiające rozwiązywanie zadań, a także pewne niestandardowe sytuacje, jakie mogą wystąpić podczas rozwiązywania zadań metodą graficzną.

Spis treści

Na czym polega metoda graficzna?

Metoda graficzna służy do rozwiązywania zadań programowania liniowego, w których występują dwie zmienne decyzyjne. W pewnych szczególnych sytuacjach można jej użyć także do rozwiązania zadań z większą liczbą zmiennych decyzyjnych. Metoda ta polega na sporządzeniu wykresu w kartezjańskim układzie współrzędnych $x_1$, $x_2$, w którym nanosi się obszar dopuszczalny zadania oraz — najlepiej — również izokwanty (poziomice) funkcji celu. Dzięki unaocznieniu na wykresie elementów zadania wyznaczenie rozwiązania staje się proste.

Przykładowe zadanie

Każde zadanie programowania liniowego składa się z czterech następujących elementów:

  1. zmiennych decyzyjnych,
  2. funkcji celu,
  3. warunków ograniczających,
  4. warunków brzegowych.

Załóżmy, że w naszym zadaniu mamy funkcję celu:

$$f(\textbf x) = 2 x_1 + 4 x_2 \rightarrow \max$$

przy następujących ograniczeniach:

$$\left\{ {\begin{aligned} x_1 + x_2 \leq 12 \\ 3x_1 + 2x_2 \geq 6 \\ 2x_1 - 4x_2 \geq 8\end{aligned}}\right.$$

Dla klasycznych warunków brzegowych: $x_1 \geq 0$, $x_2\geq 0$.

Zaczynamy od narysowania obszaru. Poszczególne nierówności rysujemy w taki sposób, że najpierw rysujemy prostą odpowiadającą równaniu, a następnie zaznaczamy, po której stronie prostej występuje obszar. Z uwagi na warunki brzegowe rysunek ograniczony zostanie do pierwszej ćwiartki układu współrzędnych.

Weźmy pierwszą nierówność: $x_1 + x_2 \leq 12$. Rysujemy najpierw prostą $x_1 + x_2 = 12$. Aby narysować prostą (a w zasadzie reprezentujący ją odcinek), wyznaczamy dwa punkty, przez które prosta ta przechodzi. Aby narysowanie prostej za pomocą długopisu i linijki było łatwiejsze, punkty te powinny: po pierwsze, być od siebie odpowiednio oddalone, a po drugie, najlepiej, by miały takie współrzędne, aby przy przyjętej skali rysunku wyrażały się one całkowitą liczbą jednostek lub kratek. Dobrze też, gdy współrzędne obydwu punktów wyrażają się nieujemnymi wartościami, gdyż i tak obszar leży w pierwszej ćwiartce. Naturalnie, jeśli narysowanie prostej będzie przez to łatwiejsze, można wyznaczyć taką parę współrzędnych, w której jedna z nich (lub nawet obie) będzie wyrażać się niewielką liczbą ujemną, np. $-1$.

Jeśli, tak jak w powyższym przypadku, obie współrzędne są sumowane, najprościej przyjąć punkty leżące na osiach układu współrzędnych — czyli wyznaczyć taką wartość jednej zmiennej, dla której równość będzie spełniona, a druga ze współrzędnych będzie równa zero. W naszym przypadku takie współrzędne to $(0; 12)$ oraz $(12; 0)$.

Następnie musimy ustalić, z której strony narysowanej prostej znajduje się obszar dopuszczalny. W tym celu należy pamiętać o prostej zasadzie:

Następnie patrzymy na znak nierówności oraz znak współczynnika przy danej współrzędnej. Jeśli znak współczynnika jest dodatni, wówczas położenie obszaru względem prostej jest niejako „intuicyjnie zgodne” z kierunkiem owej nierówności. Czyli przy znaku $\leq$ obszar znajduje się na lewo od prostej (jeśli współczynnik przy $x_1$ jest dodatni) oraz poniżej prostej (jeśli współczynnik przy $x_2$ jest dodatni). Przy znaku $\geq$ obszar ten znajduje się odpowiednio na prawo oraz powyżej prostej.

Ujemny współczynnik odwraca tę „intuicyjną zgodność”. Ujemny współczynnik przy zmiennej $x_1$ sprawia, że znak $\leq$ oznacza, iż obszar znajduje się na prawo od prostej, a $\geq$ — na lewo. Analogicznie ujemny współczynnik przy zmiennej $x_2$ sprawia, że przy znaku $\leq$ obszar jest powyżej, a przy znaku $\geq$ — poniżej prostej.

Jako że w pierwszej nierówności ograniczającej $x_1 + x_2 \leq 12$ współczynniki przy obu zmiennych są dodatnie, to wobec znaku $\leq$ obszar dopuszczalny znajduje się na lewo oraz poniżej narysowanej prostej, co warto zaznaczyć na rysunku małą strzałeczką.

Metoda graficzna
Ograniczenie x₁ + x₂ ≤ 12
Ograniczenie naniesione na wykres 

Analogicznie nanosimy kolejną nierówność ograniczającą: $3x_1 + 2x_2 \geq 6$. Najpierw rysujemy prostą $3x_1 + 2x_2 = 6$. Najłatwiejszymi punktami do wyznaczenia są $(0; 3)$ oraz $(2; 0)$. Przy obydwu zmiennych współczynniki są dodatnie, zatem wobec znaku $\geq$ obszar dopuszczalny znajduje się na prawo oraz powyżej tej prostej.

Ostatnią z nierówności ograniczających jest $2x_1 - 4x_2 \geq 8$. Rysujemy prostą $2x_1 - 4x_2 = 8$. W tym wypadku pierwszy punkt wyznaczyć można analogicznie do poprzednich, jako $(4; 0)$, ale chcąc znaleźć punkt przecięcia z osią $Ox_2$, należałoby wziąć punkt $(0; -2)$. Wzięcie takiego punktu nie jest błędem, ale należałoby przedłużyć oś $Ox_2$ poniżej osi $Ox_1$. Zamiast tego można dobrać inny punkt spełniający równanie prostej — np. może to być punkt $(6; 1)$.

Przy zmiennej $x_1$ współczynnik jest dodatni (wynosi 2), ale przy zmiennej $x_2$ jest on ujemny (wynosi $-4$). Zatem wobec znaku nierówności $\geq$ obszar znajduje się na prawo od narysowanej prostej (zgodnie z „intuicją”), ale jednocześnie poniżej tej prostej (czyli przeciwnie niż mówi „intuicja”).

Finalnie obszar dopuszczalny wygląda następująco:

Metoda graficzna
Naniesione wszystkie ograniczenia
Obszar dopuszczalny zadania 

Sporządzenie obszaru dopuszczalnego to najważniejsza część zadania. Często w ramach kursu badań operacyjnych studenci nie uczą się rysowania niczego więcej, albowiem sensownym jest poszukiwanie rozwiązania optymalnego wyłącznie wśród wierzchołków tego obszaru.

W niniejszym artykule zostanie jednak pokazany łatwiejszy sposób wyznaczania rozwiązania optymalnego: w oparciu o izokwantę funkcji celu oraz jej gradient.

Jeśli jednak chcielibyśmy poszukiwać rozwiązania optymalnego wyłącznie wśród wierzchołków, to musimy znać ich współrzędne. O ile współrzędne wierzchołków stanowiących podstawę naszego trójkąta znamy, gdyż używaliśmy ich przecież do rysowania prostych — są to punkty $(4; 0)$ oraz $(12; 0)$ — nazwijmy je odpowiednio punktami $A$ oraz $B$: $A = (4; 0)$, $B=(12; 0)$, o tyle trzeci punkt musi być znaleziony analitycznie jako punkt przecięcia się „zielonej” prostej $x_1 + x_2 = 12$ oraz „brązowej” prostej $2x_1 - 4x_2 = 8$. Współrzędne te znajdujemy, rozwiązując układ równań:

$$\left\{ {\begin{aligned} x_1 + x_2 = 12 & / \cdot (-2) & / \cdot 4 \\ 2x_1 - 4x_2 = 8 & &\end{aligned}}\right.$$

Do rozwiązania wykorzystamy metodę przeciwnych współczynników:

$$\left\{ {\begin{aligned} -2x_1 - 2x_2 = -24 \\ 2x_1 - 4x_2 = 8 \end{aligned}}\right.$$

po dodaniu stronami dostajemy:

$$-6x_2 = -16 /:(-6)$$

skąd: $x_2 = {8 \over 3}$

i analogicznie:

$$\left\{ {\begin{aligned} 4x_1 + 4x_2 = 48 \\ 2x_1 - 4x_2 = 8 \end{aligned}}\right.$$

po dodaniu stronami dostajemy:

$$6x_1 = 56 / :6$$

skąd: $x_1 = {28 \over 3}$

Zatem $C = \left( {28 \over 3}; {8 \over 3} \right)$.

Dysponując tylko współrzędnymi punktów wierzchołkowych, rozwiązanie optymalne zadania znaleźć można, obliczając wartości funkcji celu we wszystkich punktach wierzchołkowych i wybierając najlepszą z nich z punktu widzenia kierunku optymalizacji. W naszym przypadku funkcja celu jest maksymalizowana, stąd wybieramy wartość największą.

Tutaj widzimy już słabość takiej metody rozwiązywania zadania, gdyż w naszym prostym zadaniu są tylko trzy punkty wierzchołkowe, ale w ogólności punktów tych może być znacznie więcej. Ale skoro są trzy, to obliczmy:

$$f(A) = f(4; 0) = 2 \cdot 4 + 4 \cdot 0 = 8$$

$$f(B) = f(12; 0) = 2 \cdot 12 + 4 \cdot 0 = 24$$

$$f(C) = f \left( {28 \over 3} ; {8 \over 3} \right) = 2 \cdot {28 \over 3} + 4 \cdot {8 \over 3} = {56 \over 3} + {32 \over 3} = {88 \over 3} = 29 {1 \over 3} = f_{max}$$

Zatem optymalnym rozwiązaniem zadania jest:

$$\left\{ {\begin{aligned} x_1^{opt} = {28 \over 3} \\ x_2^{opt} = {8 \over 3} \end{aligned}}\right.$$

a optymalna wartość funkcji celu wynosi:

$$f_{max} = {88 \over 3} = 29 {1 \over 3}$$

Jednak rozwiązywanie zadania można sobie znacząco ułatwić, nanosząc na obszar dopuszczalny izokwantę funkcji celu oraz kierunek, w którym przesuwa się ona wraz ze wzrostem wartości tej funkcji.

W pierwszej kolejności warto narysować przykładową izokwantę (zwaną także poziomicą lub warstwicą) funkcji celu, przechodzącą przez nasz obszar dopuszczalny. Najlepiej, by przechodziła ona „w miarę” przez środek tego obszaru. Jak tego dokonać?

Wybierzmy sobie jakiś punkt leżący wewnątrz tego obszaru — niech będzie to, przykładowo, punkt $(9; 1)$. Jak narysować taką izokwantę? Mamy dwie możliwości. Pierwsza możliwość polega na obliczeniu wartości funkcji celu w tym punkcie: $f(9; 1) = 2 \cdot 9 + 4 \cdot 1 = 18 + 4 = 22$, a następnie narysowaniu prostej $f(x_1, x_2) = 22$, tj. prostej $2x_1 + 4x_2 = 22$, dokładnie w taki sam sposób, jak robimy to w przypadku prostych ograniczających. Punkt $(9; 1)$ już mamy — sami go sobie obraliśmy, no to bierzemy jakiś jeszcze jeden, w miarę oddalony, by rysunek wykonać precyzyjnie. Może to być punkt $(11; 0)$, a jeszcze lepszym (bo bardziej oddalonym) może być np. punkt $(1; 5)$.

Znacznie jednak lepszą metodą jest metoda oparta o gradient funkcji celu. Po narysowaniu jednej izokwanty bowiem nadal nie wiemy, w którą stronę ona się przesuwa, gdy wartość funkcji celu wzrasta. Musielibyśmy narysować jeszcze jedną izokwantę, w innym punkcie i dopiero wówczas posiadalibyśmy taką wiedzę. Gradient jednak wskaże nam to o wiele szybciej.

Gradient funkcji celu jest to wektor o składowych równych współczynnikom przy zmiennych decyzyjnych w funkcji celu. W naszym przypadku jest to wektor $\nabla f = \vec u = [2 ; 4]$. Traktujemy go jak wektor swobodny, który „zaczepić” możemy w dowolnym punkcie naszego wykresu — najlepiej, by był to obrany punkt $(9; 1)$. I uwaga — wcale nie musimy rysować najpierw izokwanty! Wręcz przeciwnie — lepiej zacząć właśnie od gradientu. Wektor to „strzałka” mająca początek i koniec (z „grotem”). Początek rysujemy w wybranym punkcie $(9; 1)$, koniec zaś w punkcie przesuniętym względem tego punktu o 2 jednostki w poziomie i 4 jednostki w pionie. Gradient wskazuje nam, w którą stronę izokwanta, która do naszego gradientu jest zawsze prostopadła, przesuwa się wraz ze wzrostem wartości funkcji celu.

Wiedząc o prostopadłości gradientu i izokwanty, tę ostatnią można narysować już po narysowaniu gradientu. I — uwaga — nie będzie tu potrzebna ekierka. Skoro początek naszego wektora jest w punkcie $(9; 1)$ i wektor ma składowe $[2; 4]$ — czyli „przesuwa” o dwie jednostki w prawo i cztery w górę — to aby „ładnie” narysować prostopadłą do niego izokwantę, wystarczy narysować dwa jej punkty: jeden przesunięty o (uwaga!) cztery jednostki w prawo i dwie w dół (czyli będzie to punkt $(13; -1)$) oraz drugi przesunięty względem punktu $(9;1)$ na odwrót, tj. o cztery jednostki w lewo i dwie jednostki w górę (tj. będzie to punkt $(5; 3)$).

Wykorzystujemy tutaj fakt, że aby otrzymać wektor prostopadły do danego, należy zamienić jego składowe i przed jedną z nich zmienić znak na przeciwny. Tj. wektorami prostopadłymi (ortogonalnymi) do $[2; 4]$ są wektory $[4; -2]$ oraz $[-4; 2]$.

Metoda graficzna
Obszar dopuszczalny, izokwanty oraz gradient funkcji celu
Obszar dopuszczalny, izokwanty oraz gradient funkcji celu 

Mając narysowaną zarówno izokwantę, jak i gradient, bez trudu ustalamy, że punktem optymalnym jest punkt $C$, gdyż jest to ostatni punkt obszaru dopuszczalnego, przez który opuści ten obszar izokwanta funkcji celu przesuwająca się w kierunku wskazanym przez gradient.

Gdybyśmy szukali minimum funkcji celu, wówczas punktem optymalnym byłby punkt $A=(4; 0)$, gdyż z kolei jest to ostatni punkt obszaru, przez który opuści go izokwanta przesuwająca się w kierunku przeciwnym do wskazanego przez gradient.

Dla ustalenia rozwiązania optymalnego metodą opartą o gradient funkcji celu konieczne jest sporządzenie jak najprecyzyjniejszego rysunku, gdyż czasem nachylenie krawędzi obszaru jest bardzo podobne do nachylenia izokwanty i może być trudno ustalić, który dokładnie punkt jest tym „ostatnim”. Może się zresztą zdarzyć, że nachylenie tej krawędzi będzie identyczne i wówczas rozwiązaniem optymalnym nie będzie jeden konkretny punkt, ale wszystkie punkty należące do odcinka (rozwiązanie optymalne niejednoznaczne).

Oczywiście w razie wątpliwości zawsze można policzyć wartości funkcji celu w „wątpliwych” wierzchołkach — jeśli będą się różnić, to optymalnym punktem będzie ten, dający „lepszą” (z punktu widzenia kryterium optymalizacji) wartość. Wartości jednakowe oznaczać będą, że optymalny jest cały odcinek.

Metoda graficzna
Przykład zadania z optymalnym całym brzegiem obszaru dopuszczalnego
Zadanie z optymalnym całym brzegiem obszaru dopuszczalnego. 

Na powyższym rysunku mamy taką właśnie sytuację. Jest to zadanie o takim samym obszarze dopuszczalnym, jak wcześniej, ale o innej funkcji celu:

$$g(\textbf x) = x_1 + x_2 \rightarrow \max$$

Widzimy, że izokwanta nie opuści obszaru przez punkt $C$, ale przez cały odcinek $BC$. Rozwiązaniami optymalnymi są wszystkie punkty tego odcinka, a zatem zarówno punkt $B=(12;0)$, jak i $C = \left( {28 \over 3}; {8 \over 3} \right)$, ale także wszystkie punkty leżące na odcinku $BC$, pomiędzy jego końcami. Jak zapisać takie rozwiązanie? Otóż jedną ze zmiennych w rozwiązaniu wypisujemy, podając zakres jej zmian w postaci dwustronnej nierówności, a drugą podajemy w postaci liniowej zależności od tej pierwszej (zauważmy, że obydwa te punkty leżą na prostej $x_1 + x_2 = 12$).

Czyli na przykład tak:

$$\left\{ {\begin{aligned} {28 \over 3} \leq x_1 \leq 12 \\ x_2 = 12 - x_1 \end{aligned}}\right.$$

albo tak:

$$\left\{ {\begin{aligned} x_1 = 12 - x_2 \\ 0 \leq x_2 \leq {8 \over 3} \end{aligned}}\right.$$

Stosując metodę gradientową, możemy spotkać się z sytuacją, że wartości współczynników funkcji celu będą zupełnie innych rzędów wielkości aniżeli współrzędne punktów obszaru ograniczającego. Co wówczas? Otóż w przypadku gradientu znaczenie mają jedynie jego kierunek oraz zwrot. Nie jest istotna jego długość. Co za tym idzie, zamiast rysować wprost gradient, można narysować dowolną dodatnią jego wielokrotność (mniejszą lub większą). Jeśli zatem przy naszym obszarze dopuszczalnym funkcja celu byłaby postaci: $h(\textbf x) = 3000x_1 + 2000x_2 \rightarrow \max$, to nie musimy rysować wektora $[3000; 2000]$. Możemy obie jego współrzędne podzielić przez 1000 (czyli pomnożyć przez skalar 0,001), otrzymując łatwy do narysowania wektor $[3;2]$. Ważne, by obie współrzędne były pomnożone przez tę samą liczbę (w przeciwnym razie zmianie ulegnie kierunek) i by liczba ta była dodatnia (w przeciwnym wypadku zmieni się zwrot).

Czym metoda graficzna może nas zaskoczyć?

Rozwiązując zadania metodą graficzną, można natknąć się na przypadki szczególne. Najłatwiejszy z nich to obszar dopuszczalny będący zbiorem pustym. Weźmy zadanie o następującym układzie ograniczeń:

$$\left\{ {\begin{aligned} x_1 + x_2 \leq 12 \\ 3x_1 + 2x_2 \geq 6 \\ 2x_1 + 2x_2 \geq 30\end{aligned}}\right.$$

Metoda graficzna
Przykład zadania sprzecznego — obszar dopuszczalny jest zbiorem pustym
Zadanie sprzeczne — obszar dopuszczalny jest zbiorem pustym. 

W takim wypadku oczywiście mamy $D=\emptyset$, co oznacza, że rozważane zadanie programowania liniowego jest zadaniem sprzecznym, a zatem nie posiada rozwiązania optymalnego. Aby istniało rozwiązanie optymalne zadania programowania liniowego, musi ono posiadać jakiekolwiek rozwiązania dopuszczalne. Dopiero spośród nich może się bowiem „rekrutować” rozwiązanie optymalne. Jeśli rozwiązań dopuszczalnych brak, to i rozwiązanie optymalne istnieć nie może.

Czasem jednak spotkać się możemy z innym przypadkiem, gdzie również nie ma skończonego rozwiązania optymalnego, ale z zupełnie innego powodu. Weźmy następujące zadanie programowania liniowego:

Zmaksymalizować funkcję celu:

$$f(\textbf x) = 3 x_1 + 4 x_2 \rightarrow \max$$

przy następujących ograniczeniach:

$$\left\{ {\begin{aligned} x_1 + x_2 \geq 12 \\ 3x_1 + 2x_2 \geq 48 \\ 2x_1 - 4x_2 \geq 8\end{aligned}}\right.$$

Dla klasycznych warunków brzegowych: $x_1 \geq 0$, $x_2\geq 0$.

Sporządzamy wykres obszaru dopuszczalnego i nanosimy gradient wraz z przykładową izokwantą.

Metoda graficzna
Przykład zadania nieposiadającego skończonego rozwiązania optymalnego
Zadanie nie posiada skończonego rozwiązania optymalnego. 

Obszar dopuszczalny, jak widać, nie jest bynajmniej pusty, jednakże przy zadanej funkcji celu nie da się wyznaczyć skończonego rozwiązania optymalnego. Izokwanta może przesuwać się w kierunku wskazanym przez gradient, nie napotykając na żaden „ostatni” punkt obszaru dopuszczalnego. Wartość funkcji celu może więc rosnąć nieograniczenie. Wszystko jednak zależy od funkcji celu. Jeśli bowiem — pozostawiając ten sam obszar dopuszczalny — funkcję celu zmienimy na:

$$g(\textbf x) = -2 x_1 + 3 x_2 \rightarrow \max$$

wówczas sytuacja pokazana na rysunku zmieni się na:

Metoda graficzna
Przykład zadania z obszarem dopuszczalnym, jak na rys. 6, posiadającego rozwiązanie optymalne
Obszar dopuszczalny, jak na rys. 6 — zadanie posiada rozwiązanie optymalne. 

i rozwiązaniem optymalnym będzie punkt przecięcia „brązowej” i „niebieskiej” prostej. Łatwo to rozwiązanie znaleźć. Wynosi ono:

$$\left\{ {\begin{aligned} x_1^{opt} = 13 \\ x_2^{opt} = 4,5 \end{aligned}}\right.$$

a optymalna wartość funkcji celu wynosi:

$$g_{max} = -12,5$$

Niestandardowe użycie metody graficznej

Jak wspomniano, metody graficznej używamy wówczas, gdy w zadaniu występują dwie zmienne decyzyjne. Jednak w niektórych przypadkach metoda graficzna okazuje się przydatna także przy większej ich liczbie.

Z pierwszym tego typu przypadkiem mamy do czynienia wówczas, gdy występują wprawdzie trzy zmienne decyzyjne, ale jedno z ograniczeń ma charakter równości, w związku z czym jedną ze zmiennych można po prostu wyrugować z układu ograniczającego. Weźmy następujące zadanie programowania liniowego.

Funkcja celu:

$$f(\textbf x) = 2 x_1 + 4 x_2 + x_3 \rightarrow \max$$

Ograniczenia:

$$\left\{ {\begin{aligned} x_1 + x_2 +x_3 \leq 20 \\ 2x_1 + x_2 - x_3 \leq 30 \\ x_1 - x_2 + 2x_3 = 12\end{aligned}}\right.$$

Warunki brzegowe typowe: $x_1 \geq 0$, $x_2\geq 0$, $x_3\geq 0$.

Ponieważ trzecie ograniczenie jest równością, można wykorzystać je do wyrugowania jednej ze zmiennych poprzez przedstawienie jej jako funkcji liniowej dwu pozostałych zmiennych. Załóżmy, że wyrugujemy zmienną $x_1$ (wyrugowanie zmiennej $x_3$ może być kłopotliwe z uwagi na ułamkowe współczynniki, jakie się w takim wypadku pojawią).

Przekształcając trzecie ograniczenie, dostajemy:

$$x_1 = x_2 - 2x_3 + 12$$

Zależność tę podstawiamy do funkcji celu oraz dwu pozostałych ograniczeń, otrzymując:

$$f(x_2,x_3) = 6 x_2 - 3 x_3 + 24 \rightarrow \max$$

$$2 x_2 - x_3 \leq 8$$

$$3x_2 - 5x_3 \leq 6$$

Czy to już wszystko? Otóż nie. Na wszystkie trzy zmienne narzucono warunki nieujemności, zatem zmienna $x_1$ również musi być nieujemna, co oznacza konieczność uwzględnienia jeszcze jednej nierówności: $x_2 - 2x_3 \geq -12$. Teraz mamy już kompletne, przekształcone zadanie programowania liniowego z dwiema zmiennymi decyzyjnymi:

$$f(x_2,x_3) = 6 x_2 - 3 x_3 + 24 \rightarrow \max$$

$$\left\{ {\begin{aligned} 2 x_2 - x_3 \leq 8 \\ 3x_2 - 5x_3 \leq 6 \\ x_2 - 2x_3 \geq -12\end{aligned}}\right.$$

$$x_2\geq 0,\quad x_3\geq 0$$

i takie zadanie może już być z powodzeniem rozwiązane metodą graficzną. Komentarza wymaga funkcja celu, w której pojawia się stała (wyraz wolny). Otóż zadanie takie rozwiązuje się po prostu w taki sposób, jakby stała ta była równa zero, bowiem jeśli wyrażenie $6x_2 - 3 x_3$ osiągnie wartość maksymalną (minimalną), to w sposób oczywisty wartość wyrażenia $6x_2 - 3 x_3 + 24$ również będzie maksymalna (minimalna).

Przedstawiony problem można uogólnić — metodą graficzną mogą być rozwiązane także zadania programowania liniowego z $k$ zmiennymi decyzyjnymi ($k>2$), o ile wśród ograniczeń takiego zadania wystąpi $k-2$ liniowo niezależnych równości, pozwalających sprowadzić zadanie do dwu zmiennych.

Innym przypadkiem zadania z większą niż dwie liczbą zmiennych decyzyjnych, które może być rozwiązane z wykorzystaniem metody graficznej, jest zadanie zawierające więcej niż dwie zmienne decyzyjne, ale tylko dwa warunki ograniczające. Zadanie takie może być rozwiązane metodą graficzną z wykorzystaniem dualności zadań programowania liniowego. Jest to jednak temat o tyle obszerny, że poświęcony mu będzie osobny artykuł.

Kwantyle w szeregu szczegółowym

Wprowadzenie

Jednym z zagadnień statystyki opisowej, gdzie wśród autorów podręczników i nauczycieli akademickich nie ma pełnego konsensusu, jest kwestia obliczania kwantyli — w szczególności kwartyli oraz mediany — dla danych podanych w postaci szeregu szczegółowego (indywidualnego). Kwantyle stanowią jedno z kluczowych pojęć w statystyce opisowej. W tym artykule przyjrzymy się, czym kwantyle w statystyce są naprawdę, jak definiuje się je w szeregu szczegółowym oraz dlaczego sposób ich przedstawiania w podręcznikach akademickich często budzi wątpliwości.

O ile dla szeregów rozdzielczych przedziałowych w zasadzie obowiązuje jednolity wzór:

$$Q_q = {x_{0m}} + {{{N_q - nsk_{m-1}} \over n_m} \cdot h_m}$$

gdzie:

Użycie tego wzoru wymaga ustalenia, w którym przedziale znajduje się kwantyl — jest to najniższy przedział, którego liczebność skumulowana jest równa co najmniej $N_q$.

O tyle w przypadku szeregów szczegółowych podejścia są bardzo różne.

Spis treści

Najczęściej stosowane wzory na kwantyle

Pełna zgodność panuje w zasadzie tylko przy obliczaniu mediany. Obowiązuje tutaj zasada, że medianę oblicza się w zależności od tego, czy liczebność zbioru danych jest parzysta, czy nieparzysta.

Dla parzystej liczby danych medianę oblicza się jako średnią arytmetyczną dwu „środkowych” elementów uporządkowanego ciągu danych, tj.:

$$Me={{x_{n \over 2} + x_{{n \over 2} +1}} \over 2}$$

Dla szeregu zawierającego nieparzystą liczbę danych mediana równa jest wartości „środkowej”, tj.:

$$Me=x_{{n+1} \over 2}$$

Jeśli jednak chodzi o pozostałe kwartyle czy też kwantyle innych rzędów (np. decyle, centyle), jednolitości takiej już nie ma.

Kwartyle w statystyce opisowej – Q1, mediana (Q2) i Q3 Wykres osi liczbowej przedstawiający położenie kwartylów Q1, Q2 i Q3 oraz obszary 25%, 50% i 25% między nimi. Q1 Q2 (Mediana) Q3 Min Max 25% 50% 25%
Kwartyle w statystyce opisowej: Q1 (dolny), mediana Q2 i Q3 (górny).

Kwartyle — dolny ($Q_1$) oraz górny ($Q_3$) — obliczane są, według nauczycieli akademickich na większości polskich uczelni, na jeden z dwu sposobów:

O ile pierwszy z wymienionych sposobów można uznać za w miarę logiczny i zasadny, choć niepozbawiony kontrowersji — zwłaszcza w sytuacji, gdy kilka wartości w szeregu równych jest medianie — o tyle drugi ze sposobów nie może być nazwany inaczej jak „radosną twórczością” akademickich nauczycieli całkowicie pozbawionych statystycznego „wyczucia”.

Największy mankament pierwszego z opisywanych sposobów jest taki, że za pomocą tego schematu obliczyć można w zasadzie tylko kwartyle. Przeprowadzając dalsze „połowienie” szeregu danych, w analogiczny sposób można policzyć np. kwantyle rzędu 0,125; 0,375 itd. (oktyle?), ale nie znajdują one powszechnego zastosowania w praktyce statystycznej.

Drugi z opisywanych sposobów jest całkowicie bezsensowny chociażby przez to, że „na siłę” dopasowuje kwartyle czy też wyliczane kwantyle innych rzędów dokładnie do wartości danych z szeregu, podczas gdy przykład mediany dla parzystej liczby danych pokazuje, że nie zawsze wartość kwantyla musi rekrutować się spośród wartości z szeregu. Taka zbieżność wręcz — o ile nie mówimy o szeregu rozdzielczym punktowym, gdzie sporo wartości się powtarza — jest na ogół wyłącznie dziełem przypadku, czy raczej występuje wyłącznie dla konkretnych wartości $n$. W przypadku kwartyli bynajmniej nie muszą to być wartości podzielne przez 4, co dobitnie pokazuje mediana, która wprost równa jest wartości z szeregu tylko dla nieparzystych, a zatem niepodzielnych przez 2, wartości $n$.

Najgorsze i najbardziej groteskowe w tym wszystkim jest to, że jako korepetytor przygotowujący studentów do kolokwiów i egzaminów sam muszę ich tych sposobów uczyć… Czuję się wówczas jak katecheta, który wziął zastępstwo za polonistkę i przerabia akurat mitologię grecką.

Okazuje się, że pojęcie o obliczaniu kwantyli w szeregu szczegółowym mają jedynie programiści firmy Microsoft…

Jak powinniśmy obliczać kwantyle w szeregu szczegółowym?

Jak wiemy, „idealne” do obliczenia mediany są szeregi szczegółowe o nieparzystej liczbie danych. Dla przypomnienia, weźmy szereg o pięciu elementach. Jako że na tym etapie interesuje nas wyłącznie pozycja elementu, a nie jego wartość, zamiast liczb rozważać będziemy „kółka”. Każdorazowo pisząc o szeregu, będziemy mieli na myśli uporządkowany ciąg danych od najmniejszej do największej wartości.

Ilustracja wyznaczania mediany dla szeregu szczegółowego o pięciu elementach

Położenie mediany w szeregu szczegółowym o pięciu elementach

Jak widać, medianą jest trzeci element, gdyż zgodnie z „filozofią” mediany tyle samo elementów jest na lewo od niego, ile elementów jest po jego prawej stronie.

Pozycję mediany wyznaczyć tutaj możemy jako: $N_{Me} = {{n + 1} \over 2}$.

W tym samym szeregu zauważymy również, że idealnymi kwartylami: dolnym i górnym, są odpowiednio drugi oraz czwarty element:

Ilustracja wyznaczania dolnego kwartyla (kwantyl rzędu 0,25) dla szeregu szczegółowego pięcioelementowego
Ilustracja wyznaczania górnego kwartyla (kwantyl rzędu 0,75) dla szeregu szczegółowego pięcioelementowego

Położenie kwartyli (dolnego i górnego) w szeregu szczegółowym o pięciu elementach

Dlaczego tak? A dlatego, że drugi element po swojej prawej stronie ma dokładnie trzy razy więcej elementów niż po swojej lewej stronie (1 vs 3 tak samo, jak 25% vs 75%) i analogicznie czwarty element ma po swojej lewej stronie trzykrotnie więcej elementów niż po prawej.

Jak się za chwilę okaże, takie „dokładne trafienie” w pozycję kwartyla ma miejsce zawsze, gdy liczba elementów szeregu jest postaci $4k+1$, czyli przy dzieleniu przez cztery daje resztę jeden.

Który jednak element jako kwartyl wskażą wspomniane wcześniej dwa najpopularniejsze w nauczaniu akademickim sposoby? W przypadku sposobu z podręcznika „Krysicki i inni” wszystko zależy od konkretnych wartości. Dla szeregu bowiem:

1; 2; 3; 4; 5

medianą jest 3 i obie grupy mieć będą postaci: 1; 2; 3 oraz 3; 4; 5 i jako kwartyle dolny i górny poprawnie wskazane zostaną liczby odpowiednio 2 oraz 4. Jednak już dla szeregu:

1; 2; 2; 3; 3

medianą jest 2 i pierwszą grupę (elementy mniejsze od mediany i medianę) tworzą liczby 1, 2, a ich medianą, czyli pierwszym kwartylem, jest liczba 1,5.

Drugi ze sposobów daje jeszcze dziwniejsze wyniki. $n=5$, zatem $Q_1 = x_{\left[ n \over 4 \right]} = x_{[1,25]}=x_1$ oraz $Q_3 = x_{\left[ {3 \over 4} \cdot n \right]} = x_{[3,75]}=x_3$. Przyjmując zasadę zaokrąglania matematycznego zamiast funkcji „podłoga”, otrzymamy w tym akurat wypadku prawidłowy wynik $Q_3=x_4$.

Nieco lepiej sprawa będzie wyglądać, gdy — jak to niektórzy nauczyciele akademiccy robią — zamiast $n$ użyjemy $n+1$. Zaokrąglając za pomocą funkcji „podłoga”, otrzymamy $Q_1=x_1$ oraz $Q_3=x_4$, natomiast zaokrąglając matematycznie, uzyskamy $Q_1=x_2$ oraz $Q_3=x_5$ (sic!).

Oczywiście zupełnie bezsensowne rezultaty tą metodą otrzymamy dla liczby elementów niespełniającej warunku $n = 4k +1$. Wówczas bowiem jako kwartyle zostają cały czas wskazane konkretne elementy z szeregu, podczas gdy intuicja powinna nam mówić, że muszą to być jakieś elementy „pośrednie” — tak, jak dzieje się to w przypadku mediany przy parzystej liczbie elementów.

Jak zatem podejść do problemu?

Otóż, aby wyznaczyć kwartyle i dowolnego rzędu inne kwantyle w szeregu szczegółowym, należy zacząć od wyznaczenia w prawidłowy sposób pozycji tego kwantyla. Jeśli będzie to liczba całkowita, wówczas kwantylem będzie wartość w szeregu stojąca na tej właśnie pozycji. Jeśli będzie to pozycja o wartości ułamkowej, kwantyl otrzymamy, interpolując liniowo wartość stojącą na pozycji równej wyznaczonej pozycji kwantyla zaokrąglonej w dół i wartość stojącą na pozycji kolejnej.

Rozważmy szereg zawierający $n$ elementów. Zgodnie z najczęściej stosowanym w statystyce zwyczajem elementy te numerujemy indeksami od $1$ do $n$. Stąd wynika, że długość takiego szeregu, rozumiana jako odległość od pierwszej do ostatniej pozycji, wynosi $n-1$. Zrozumienie tego prostego skądinąd faktu jest kluczowe dla prawidłowego liczenia kwantyli w szeregu szczegółowym.

Ilustracja punktów szeregu statystycznego oraz odległości między nimi

„Odległość” pomiędzy danymi w szeregu szczegółowym

W takiej sytuacji przykładowo mediana znajdować się powinna w „odległości” ${n-1} \over 2$ od pierwszej wartości szeregu, kwartyl dolny w odległości ${n-1} \over 4$ i — ogólnie — kwantyl rzędu $q$ w odległości $(n-1) \cdot q$.

Zaraz, zaraz, czy aby na pewno $n - 1$? Na pewno! Zauważmy, że wprawdzie odległość liczymy od zera, ale dane indeksujemy od 1, stąd aby wyliczyć pozycję kwantyla, należy do tak wyliczonej odległości dodać 1.

Wówczas pozycja mediany wynosi:

$$N_{Me} = {{n-1} \over 2} + 1 = {{n-1+2} \over 2} = {{n+1} \over 2}$$

Eureka! Już wiemy, skąd we wzorze wzięło się $n+1$, w bezrefleksyjny sposób przenoszone przez wielu prowadzących zajęcia ze statystyki na wyższych uczelniach na kwantyle innego rzędu.

W przypadku bowiem kwantyli innego rzędu $n+1$ już się wprost nie pojawi, gdyż wzór na numer pozycji będzie miał postać:

$$N_q = \left( n - 1 \right) q + 1$$

Jeśli tak wyliczony numer pozycji okaże się liczbą całkowitą, to — jak wspomniano wyżej — kwantyl równy będzie po prostu wskazanemu elementowi. Co jednak, jeśli pozycja kwantyla wyjdzie wartością ułamkową?

Wyprowadzamy prawidłowy wzór na kwantyl rzędu q

Ilustracja kwantyla w szeregu szczegółowym o pozycji niebędącej liczbą całkowitą

Kwantyl o pozycji niebędącej liczbą całkowitą

Załóżmy, że pozycja kwantyla rzędu $q$ wynosi $N_q = k+w$, gdzie $k$ jest częścią całkowitą $k=\left[ N_q \right]$, natomiast $w$ jest częścią ułamkową tej pozycji. W takiej sytuacji logiczne jest, że kwantyl $Q_q$ powinien zostać wyznaczony poprzez interpolację liniową wartości $x_k$ oraz $x_{k+1}$.

Dokonajmy takiej interpolacji:

$$Q_q=x_k + \left(x_{k+1} - x_k \right) \cdot w = x_k \cdot \left(1 - w \right) + x_{k+1} \cdot w$$

Jak widać, kwantyl $Q_q$ jest średnią ważoną wartości na pozycjach $k$ oraz $k+1$ w szeregu, gdzie wagami są odległości od drugiej z pozycji.

W takiej sytuacji wzór na kwantyl rzędu $q$ może być zapisany w następującej postaci:

$$N_q=(n-1)q+1$$

$$k=\left[N_q\right]$$

$$w=N_q-\left[N_q\right]$$

$$Q_q=x_k \cdot (1-w)+x_{k+1}\cdot w$$

gdzie oczywiście $\left[ x \right]$ jest funkcją „podłoga”, znaną także pod nazwą funkcji entier, czyli największą liczbą całkowitą nie większą od $x$ (kiedyś, w czasach popularności tablic logarytmicznych, funkcja ta nazywała się po prostu cechą liczby $x$).

Trzeba jednak pamiętać, że powyższy wzór interpolacyjny stosujemy wtedy, gdy $N_q$ nie jest liczbą całkowitą. Gdy $N_q$ jest liczbą całkowitą, kwantyl jest po prostu równy wartości $x_{N_q}$ i nie odwołujemy się do nieistniejącego elementu $x_{n+1}$ w przypadku kwantyla rzędu $q=1$.

Wyprowadzony wzór można zapisać w postaci prostego algorytmu.

  1. Wyznacz numer pozycji kwantyla $N_q = {\left(n - 1 \right) \cdot q} + 1$.
  2. Jeśli tak wyznaczony numer jest liczbą całkowitą, to $Q_q={x_{N_q}}$, czyli szukany kwantyl jest równy elementowi uporządkowanego szeregu na wyznaczonej pozycji. Kończymy obliczenia. W przeciwnym razie wykonaj punkt 3.
  3. Niech $k=\left[ N_q \right]$, tj. zaokrąglamy w dół wartość $N_q$ i wyznaczamy w ten sposób $k$-tą pozycję w szeregu. Jeśli $x_k = x_{k+1}$, tj. jeśli wartości w szeregu na pozycjach $k$ oraz $k+1$ są jednakowe, to ich wspólna wartość jest obliczaną wartością kwantyla: $Q_q = x_k = x_{k+1}$. Kończymy obliczenia. W przeciwnym razie przechodzimy do punktu 4.
  4. Niech $w$ oznacza część ułamkową wyznaczonej pozycji kwantyla: $w=N_q - \left[ N_q \right]$. Obliczamy wartość kwantyla jako: $Q_q = x_k \cdot (1-w) + x_{k+1} \cdot w$.

Ten sposób oczywiście działa również dla mediany, dając identyczne wyniki z „klasycznym” sposobem, albowiem dla parzystej wartości $n$ numer pozycji $N_{Me} = \left( n - 1 \right) \cdot 0,5 +1 = {{n+1} \over 2}$ posiada część ułamkową $w=0,5$ i mediana jest średnią ważoną z liczb na pozycjach $n \over 2$ oraz ${n \over 2} + 1$ z obiema wagami równymi 0,5, a zatem ich średnią arytmetyczną.

Przykłady

Przykład 1

Weźmy uporządkowany szereg o 11 elementach: 2; 3; 5; 5; 7; 9; 10; 18; 21; 24; 25.

Obliczmy dla tego szeregu najczęściej liczone kwantyle, tj.: medianę, dolny (pierwszy) oraz górny (trzeci) kwartyl, używane do wyliczenia pozycyjnych wersji odchylenia ćwiartkowego, współczynnika zmienności oraz współczynnika asymetrii, a także decyle pierwszy oraz dziewiąty, służące do wyliczenia pozycyjnego współczynnika skupienia.

Pozycje poszczególnych kwantyli wynoszą:

Jak widać, oba decyle i mediana mają całkowite numery pozycji, zatem są one równe wprost odpowiednim elementom szeregu:

$d_1 = x_2 = 3$

$Me = x_6 = 9$

$d_9 = x_{10} = 24$

Natomiast części ułamkowe numerów kwartyli równe są 0,5, co oznacza, że są one równe de facto średnim arytmetycznym dwu sąsiednich elementów: kwartyl pierwszy jest średnią elementów trzeciego oraz czwartego, natomiast kwartyl trzeci — ósmego i dziewiątego.

$Q_1 = x_3 \cdot 0,5 + x_4 \cdot 0,5 = 5 \cdot 0,5 + 5 \cdot 0,5 = 5$

Tutaj oczywiście oba elementy były równe, więc można było od razu wykorzystać punkt trzeci przytoczonego wyżej algorytmu.

$Q_3= x_8 \cdot 0,5 + x_9 \cdot 0,5 = 18 \cdot 0,5 + 21 \cdot 0,5 = 19,5$

Kwartyl trzeci jest zatem interpolowaną wartością spoza szeregu danych.

Przykład 2

Weźmy teraz szereg składający się z dziesięciu wartości: 3; 6; 10; 15; 15; 19; 21; 28; 35; 40.

Wyliczamy te same kwantyle.

Pozycje poszczególnych kwantyli wynoszą:

Tym razem wszystkie pozycje są ułamkowe. Wartości poszczególnych kwantyli obliczamy jako średnie ważone wartości na obu pozycjach, „pomiędzy” którymi wypada wyliczona pozycja ułamkowa, tj. wartością zaokrągloną w dół i wartością następną.

Dla decyla pierwszego będzie to średnia ważona elementów na pozycjach 1 oraz 2. Ponieważ część ułamkowa wynosi 0,9, toteż wartość z pozycji pierwszej będzie ważona wartością 0,1, a wartość z pozycji drugiej — wagą 0,9.

$d_1 = x_1 \cdot 0,1 + x_2 \cdot 0,9 = 3 \cdot 0,1 + 6 \cdot 0,9 = 0,3 + 5,4 = 5,7$

W analogiczny sposób obliczamy pozostałe kwantyle:

$Q_1 = x_3 \cdot 0,75 + x_4 \cdot 0,25 = 10 \cdot 0,75 + 15 \cdot 0,25 = 7,5 + 3,75 = 11,25$

$Me = x_5 \cdot 0,5 + x_6 \cdot 0,5 = 15 \cdot 0,5 + 19 \cdot 0,5 = 7,5 + 9,5 = 17$

$Q_3 = x_7 \cdot 0,25 + x_8 \cdot 0,75 = 21 \cdot 0,25 + 28 \cdot 0,75 = 5,25 + 21 = 26,25$

$d_9 = x_9 \cdot 0,9 + x_{10} \cdot 0,1 = 35 \cdot 0,9 + 40 \cdot 0,1 = 31,5 + 4 = 35,5$

Przykład 3

Weźmy dane w postaci szeregu rozdzielczego punktowego. Szereg rozdzielczy punktowy stanowi tak naprawdę efekt „kompresji bezstratnej” szeregu szczegółowego, zatem obowiązują dokładnie te same reguły. Ponieważ jednak znacznie częściej będzie się zdarzać, że dane będą się powtarzać, obliczanie zazwyczaj będzie uproszczone (średnia ważona dwu takich samych liczb równa jest tym liczbom, niezależnie od wag — punkt 3 algorytmu).

Do ustalenia pozycji poszczególnych elementów w szeregu wykorzystujemy liczebności skumulowane. Wyliczamy ten sam zestaw kwantyli, co poprzednio.

$x_i$$n_i$$nsk_i$
055
11217
21633
31245
4954
5660

$n=60$

Pozycje poszczególnych kwantyli wynoszą:

W przypadku decyla pierwszego zarówno na pozycji szóstej, jak i siódmej jest liczba 1, a zatem:

$d_1 = x_6 = x_7 = 1$

Analogicznie obliczając kwartyl pierwszy, zauważamy, że na pozycjach 15 oraz 16 jest również ta sama liczba i również jest to 1:

$Q_1 = x_{15} = x_{16} = 1$

Tak samo licząc medianę, zauważmy, że tak na pozycji 30, jak i na pozycji 31 jest ta sama liczba i jest to liczba 2, zatem:

$Me = x_{30} = x_{31} = 2$

W przypadku kwartyla trzeciego sytuacja jest odmienna. Zaokrąglając numer pozycji kwartyla (45,25) w dół, zauważamy, że na pozycji czterdziestej piątej jest jeszcze liczba 3, ale na kolejnej, czterdziestej szóstej pozycji jest liczba 4. Wobec tego należy użyć średniej ważonej. Jako że część ułamkowa wynosi 0,25, to wagi wyniosą odpowiednio 0,75 oraz 0,25:

$Q_3 = x_{45} \cdot 0,75 + x_{46} \cdot 0,25 = 3 \cdot 0,75 + 4 \cdot 0,25 = 2,25 + 1 = 3,25$

I tak samo w przypadku dziewiątego decyla. Numer jego pozycji to 54,1. Na pozycji 54. jest jeszcze liczba 4, ale na 55. pozycji jest liczba 5. Wobec tego decyl ten jest średnią ważoną z tych liczb, z wagami równymi odpowiednio 0,9 oraz 0,1:

$d_9 = x_{54} \cdot 0,9 + x_{55} \cdot 0,1 = 4 \cdot 0,9 + 5 \cdot 0,1 = 3,6 + 0,5 = 4,1$

Czy ktoś tak liczy?

Sceptyk może zapytać — skoro na polskich uczelniach, w ramach kursu statystyki, nikt tak nie liczy kwantyli w szeregu szczegółowym, to może jednak nie mam racji? A jeśli mam rację, to może powinienem zgłosić to doniosłe odkrycie? Cóż, na medal Fieldsa jestem już zbyt dorosły — a sposób liczenia wcale nie jest jakiś nieznany czy przełomowy. Od lat jest bowiem stosowany w arkuszach kalkulacyjnych, z najpopularniejszym Excelem na czele. Czytelnik może łatwo sprawdzić, że każdy z zaprezentowanych przykładów w Excelu da identyczny wynik z otrzymanym tutaj — oczywiście dane z przykładu 3 trzeba będzie wprowadzić do Excela jako szereg szczegółowy, tj. wpisać pięciokrotnie zero, dwanaście razy jedynkę i tak dalej.

Na pytanie, dlaczego na polskich uczelniach uczy się studentów herezji, niestety nie jestem w stanie odpowiedzieć.