Skip to content

Instantly share code, notes, and snippets.

@tobydriscoll
Created September 26, 2016 19:51
Show Gist options
  • Save tobydriscoll/5c1d2915c61b89c09ce067227ed57ab6 to your computer and use it in GitHub Desktop.
Save tobydriscoll/5c1d2915c61b89c09ce067227ed57ab6 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lecture 11: Linear least squares\n",
"\n",
"## Fitting data by polynomials\n",
"\n",
"Here are 5-year averages of the worldwide temperature anomaly as compared to the 1951-1980 average (source: NASA)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[Plots.jl] Initializing backend: pyplot\n"
]
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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Uv/7smAFaNSoURo7dqz27t0rqetl6VOnTun8+fOSpHfeeSf9UvVXvvIVbdmyJf1nm5qaNHHixPTvJ02apKampkGdH337rLbdPvzwQ8Xjcf3lX/5l+jbahttntX366af14osvavz48br11lv1F3/xF5o9e7Yk2g4Fn9X3zjvv1O7duyVJZ8+e1eHDh9P30Te8/uVf/kVLly7VBx98oM7OTt1yyy3p+yZOnJju9GkN+9uXBStgP/rRj1RXV6c77rhDW7Zs0Z/8yZ+kX8no7OzU+fPn9cYbb2jfvn3asWOH/vM//zPgifH/69PadvvBD36goqIizZgxI6ApcT0+re22bdv06KOP6je/+Y3effdd7d69W6+++mrAE6M/Pq3vrl279POf/1zFxcX6u7/7Oy1atKjH8xrh8tRTT+lXv/qVnnrqqUH9vvxTEbBZs2Zl/Nho+vTpmjlzpqSurfqRRx7RsGHDNGrUKC1ZskQ///nPtWTJEkWjUb377ruaN2+eJOn8+fOKRqOBHAN611vbTy5SO3fuzHj1ShJth4BPe95+97vf1enTpyV1/QhpyZIl+ulPf6qvfvWrtB0iPu25O3HixPSrW5L04IMPqrS0VBLP3TD69re/rUQioVdffVU33nijbrzxRuXk5Oi3v/1t+lWsaztNnDhR7777rsaMGZO+7/7775fU/768ghWwZDKZ/t/PPvus8vLydN9990mSHn300fSTvKOjQz/96U91++23S5K+/vWv69lnn1UqldIHH3ygF154QWVlZYM+P/rWW9vu8zqkrncjHT16VI888kjGn6Nt+H3a8/bLX/6y/uu//ktS1zlYBw8eTC9ftB0aPu25+9vf/jZ9ztZLL72khoYGPfroo5LoGzabN2/Wnj179PLLL+sLX/hC+vavf/3r+rd/+zdJXT8Cfu+993TvvfdKkh5++GFt375dknTu3Dm99tprWrp0afrP9auv09P20adVq1Z5t956qzd8+HAvPz/fKyws9DzP8zZu3OhNmTLFmzJlive1r33N+/Wvf53+Mx9++KFXXl7uTZ8+3Zs5c6a3YcOG9H1Xr1711q5d6912223e5MmT0+9awuC7nrae53n/+I//mH63yrVoGx7X0/bYsWPeggULvDlz5njTp0/3/uEf/iF9H23D5Xr6Pvfcc97kyZO9qVOneiUlJRnvIqNvePz617/2hg0b5k2ePNmbO3euN2fOHO+uu+7yPM/zWlpavNLSUq+wsNCbOXOm99prr6X/XFtbm1dWVuZ9+ctf9oqKiry9e/em7+tvXy6VAwAA4Bg/IgQAAHCMBQsAAMAxFiwAAADHWLAAAAAcY8ECAABw7P8BmT6+PSe2FKUAAAAASUVORK5CYII=\" />"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"year = collect(1955:5:2000);\n",
"anomaly = [ -0.0480; -0.0180; -0.0360; -0.0120; -0.0040; 0.1180; 0.2100; 0.3320; 0.3340; 0.4560 ];\n",
"using Plots; pyplot(legend=false);\n",
"plot(year,anomaly,m=:o,l=nothing)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The numbers work better if we measure time in years since 1955. (We can quantify that statement later in the course.) "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"m = length(t) = 10\n"
]
}
],
"source": [
"t = year-1955;\n",
"@show m = length(t);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A polynomial through all of these points has to have degree at least 9 in general (i.e., unless the points are special). We can solve for the coefficients of this polynomial by solving a $10\\times 10$ Vandermonde system."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"Poly(-0.048 + 0.3655471428571423x - 0.1821111666666659x^2 + 0.03600809999999972x^3 - 0.003737914999999952x^4 + 0.00022573177777777346x^5 - 8.205466666666444e-6x^6 + 1.7689396825396164e-7x^7 - 2.0826666666665615e-9x^8 + 1.0311111111110426e-11x^9)"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"A = t.^0;\n",
"for j = 1:m-1\n",
" A = [A t.^j];\n",
"end\n",
"b = anomaly;\n",
"\n",
"c = A\\b; # coefficients, from degree 0 to m-1\n",
"\n",
"using Polynomials\n",
"p = Poly(c)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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\" />"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot(t->p(t-1955),1955,2000)\n",
"plot!(year,anomaly,m=:o,l=nothing);\n",
"title!(\"World temperature anomaly\");\n",
"xlabel!(\"year\"); ylabel!(\"anomaly (deg C)\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As intended, the polynomial interpolates the data, but it obviously gives a lot of unphysical nonsense. This phenomenon, which is common with interpolating polynomials over equally spaced times, is an example of _overfitting_. \n",
"\n",
"We actually get a better approximation by reducing the degree to 3. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"size(A) = (10,4)\n"
]
}
],
"source": [
"A = A[:,1:4];\n",
"@show size(A);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We now have an overdetermined system of linear equations. The easiest way to define a solution is to minimize the 2-norm of the residual--i.e., least squares. In MATLAB we use the same backslash operator as for square systems, even though the algorithms are very different. "
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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\" />"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"c = A\\b; # coefficients, from degree 0 to 3\n",
"\n",
"p = Poly(c); # fitting polynomial\n",
"plot(t->p(t-1955),1955,2000)\n",
"plot!(year,anomaly,m=:o,l=nothing);\n",
"title!(\"World temperature anomaly\");\n",
"xlabel!(\"year\"); ylabel!(\"anomaly (deg C)\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This polynomial certainly describes the data better."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Three least squares algortithms\n",
"\n",
"There are three distinct ways to solve the general dense linear least squares problem. First, we can pose and solve the normal equations."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"size(B) = (4,4)\n"
]
}
],
"source": [
"B = A'*A; z = A'*b;\n",
"@show size(B);"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4x2 Array{Float64,2}:\n",
" -0.0261566 -0.0261566 \n",
" -0.00908228 -0.00908228 \n",
" 0.000785734 0.000785734\n",
" -7.74825e-6 -7.74825e-6 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"[c B\\z]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Second, we can use a thin QR factorization to express the range of $A$ orthonormally, and reduce to a triangular square system."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4x2 Array{Float64,2}:\n",
" -0.0261566 -0.0261566 \n",
" -0.00908228 -0.00908228 \n",
" 0.000785734 0.000785734\n",
" -7.74825e-6 -7.74825e-6 "
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(Q,R) = qr(A); z = Q'*b;\n",
"[c R\\z]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"And third, we can use the SVD to orthgonalize both the range and the domain, ultimately getting a diagonal square system."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"4x2 Array{Float64,2}:\n",
" -0.0261566 -0.0261566 \n",
" -0.00908228 -0.00908228 \n",
" 0.000785734 0.000785734\n",
" -7.74825e-6 -7.74825e-6 "
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(U,s,V) = svd(A); z = U'*b;\n",
"[c V*(z./s)]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the coming chapters we will take a deep look at why mathematically equivalent algorithms difffer when implemented numerically. It turns out that each of the three algorithms above has a set of problems on which it might be considered the 'best'."
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Julia 0.4.6",
"language": "julia",
"name": "julia-0.4"
},
"language_info": {
"file_extension": ".jl",
"mimetype": "application/julia",
"name": "julia",
"version": "0.4.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment