07.1 – Approximation von Bevölkerungszahlen der USA

 

In den USA findet alle zehn Jahre eine Volkszählung statt. Die folgende Tabelle zeigt die Ergebnisse der letzten elf Zählungen:

\begin{array}{*{20}{c}} {Jahr} &\vline & {Einwohner} \\ \hline {1900} &\vline & {75994575} \\ {1910} &\vline & {91972266} \\ {1920} &\vline & {105710620} \\ {1930} &\vline & {122775046} \\ {1940} &\vline & {131669275} \\ {1950} &\vline & {150697361} \\ {1960} &\vline & {179323175} \\ {1970} &\vline & {203235298} \\ {1980} &\vline & {226540825} \\ {1990} &\vline & {248709873} \\ {2000} &\vline & {285230516} \\ \end{array}

Bei der diskreten Quadratmittelapproximation wird eine Funktion {p_n} aus einer Menge von Funktionen \mathcal{P}, z.B. den Polynomen n-ten Grades gesucht, so dass zu gegebenen Wertepaaren \left( {{x_0},{f_0}} \right), \ldots ,\left( {{s_N},{f_N}} \right) die Bedingung

\left( 1 \right)\quad \quad \frac{1}{2}\sum\limits_{i = 0}^N {{\omega _i}{{\left[ {{p_n}\left( {{x_i}} \right)-{f_i}} \right]}^2}} \to \min \limits_\mathcal{P}

erfüllt ist. Die Werte {\omega _i} sind Gewichte.

  1. Es sei nun {p_n} eine Linearkombination von Basisfunktionen {\varphi _j}, d.h. {p_n} = \sum\limits_{j = 0}^n {{c_j}{\varphi _j}\left( x \right)}. Geben Sie ein Gleichungssystem zur Bestimmung der Koeffizienten {c_j} an, so dass {p_n} die Bedingung erfüllt.
  2. Es sei nun \mathcal{P} die Menge aller Polynome höchstens ersten Grades. Bestimmen Sie die Lösung von \left( 1 \right) für {\omega _i} = 1,i = 0, \ldots ,N. Wie hoch schätzen Sie die Bevölkerungszahl in den Jahren 1905 und 1995?

Lösung

a )

{p_n} = \sum\limits_{j = 0}^n {{c_j}{\varphi _j}\left( x \right)}

Minimiere

S\left( {{c_0},{c_1}, \ldots ,{c_n}} \right) = \frac{1}{2}\sum\limits_{i = 0}^N {{\omega _i}{{\left[ {\sum\limits_{j = 0}^n {{c_j}{\varphi _j}} -{f_i}} \right]}^2}}

0 = \frac{{\partial S}}{{\partial {c_k}}} = \sum\limits_{i = 0}^N {{\omega _i}\left[ {\sum\limits_{j = 0}^n {{c_j}{\varphi _j}} \left( {{x_i}} \right)-{f_i}} \right]} {\varphi _k},\quad k = 0, \ldots ,n

\quad \Rightarrow \quad 0 = \sum\limits_{i = 0}^N {\sum\limits_{j = 0}^n {{\omega _i}{c_j}{\varphi _j}\left( {{x_i}} \right){\varphi _k}\left( {{x_i}} \right)} } -\sum\limits_{i = 0}^N {{\omega _i}{f_i}{\varphi _k}\left( {{x_i}} \right)} ,\quad k = 0, \ldots ,n

Als Matrix:

\left( {\begin{array}{*{20}{c}} {\sum\limits_{j = 0}^n {{\omega _i}{c_j}{\varphi _0}\left( {{x_i}} \right){\varphi _0}\left( {{x_i}} \right)} } & \cdots & {\sum\limits_{j = 0}^n {{\omega _i}{c_j}{\varphi _n}\left( {{x_i}} \right){\varphi _0}\left( {{x_i}} \right)} } \\ \vdots & \ddots & \vdots \\ {\sum\limits_{j = 0}^n {{\omega _i}{c_j}{\varphi _0}\left( {{x_i}} \right){\varphi _n}\left( {{x_i}} \right)} } & \cdots & {\sum\limits_{j = 0}^n {{\omega _i}{c_j}{\varphi _n}\left( {{x_i}} \right){\varphi _n}\left( {{x_i}} \right)} } \\ \end{array} } \right)\left( {\begin{array}{*{20}{c}} {{c_0}} \\ \vdots \\ {{c_n}} \\ \end{array} } \right)

= \left( {\begin{array}{*{20}{c}} {\sum\limits_{i = 0}^N {{\omega _i}{f_i}{\varphi _0}\left( {{x_i}} \right)} } \\ \vdots \\ {\sum\limits_{i = 0}^N {{\omega _i}{f_i}{\varphi _n}\left( {{x_i}} \right)} } \\ \end{array} } \right)

b )

{\varphi _0} = 1,\quad {\varphi _1} = x\quad \Rightarrow \quad {p_1}\left( x \right) = {c_0}+{c_1}x

\quad \Rightarrow \quad \left( {\begin{array}{*{20}{c}} {\sum\limits_{i = 0}^N {{\omega _i}} } & {\sum\limits_{i = 0}^N {{\omega _i}{x_i}} } \\ {\sum\limits_{i = 0}^N {{\omega _i}{x_i}} } & {\sum\limits_{i = 0}^N {{\omega _i}x_i^2} } \\ \end{array} } \right)\left( {\begin{array}{*{20}{c}} {{c_0}} \\ {{c_1}} \\ \end{array} } \right) = \left( {\begin{array}{*{20}{c}} {\sum\limits_{i = 0}^N {{\omega _i}{f_i}} } \\ {\sum\limits_{i = 0}^N {{\omega _i}{f_i}{x_i}} } \\ \end{array} } \right)

Für quadratische Polynome hätten wir eine 3×3 Matrix erhalten. Wenn wir die Gewichte {\omega _i} alle auf 1 setzen, vereinfacht sich das System weiter:

\quad \Rightarrow \quad \left( {\begin{array}{*{20}{c}} {N+1} & {\sum\limits_{i = 0}^N {{x_i}} } \\ {\sum\limits_{i = 0}^N {{x_i}} } & {\sum\limits_{i = 0}^N {x_i^2} } \\ \end{array} } \right)\left( {\begin{array}{*{20}{c}} {{c_0}} \\ {{c_1}} \\ \end{array} } \right) = \left( {\begin{array}{*{20}{c}} {\sum\limits_{i = 0}^N {{f_i}} } \\ {\sum\limits_{i = 0}^N {{f_i}{x_i}} } \\ \end{array} } \right)

Matlab-Code zur Berechnung der Ausgleichsgeraden:

clear;

format short e;
x = 1900+10 * [0 : 10];

% Vektor mit Messwerten:
f = [75994575 91972266 105710620 122775046 ...
	131669275 150697361 179323175 203235298 ...
	226540825 248709873 285230516];

A = [length(x), sum(x); sum(x), x*x']
h = [sum(f); f*x']

c = A\h

xi = 1900:1:2000;
eta = c(1)+c(2) * xi;

figure
plot(xi, eta, 'k', x, f, '*r');

format long
bewohner1905 = eta(6)
bewohner1995 = eta(96)

Ähnliche Artikel

1 Kommentar zu “07.1 – Approximation von Bevölkerungszahlen der USA”

Bei “Als Matrix:” müssen die cj alle raus und die Summe muss von i bis N gehen. Seh ich des richtig? :-)

Kommentar verfassen