• Nu S-Au Găsit Rezultate

3. Piecewise Polynomial and Splines 4. Natural Cubic Splines

N/A
N/A
Protected

Academic year: 2022

Share "3. Piecewise Polynomial and Splines 4. Natural Cubic Splines"

Copied!
22
0
0

Text complet

(1)

Splines and applications

Chapter 5. of the book The Elements of Statistical Learning by the Jerome Friedman, Trevor Hastie, Robert Tibshirani.

Bágyi Ibolya Applied Machine Learning Master, 2006-2007

(2)

Contents

Splines and applications

1. History of splines 2. What is a spline?

3. Piecewise Polynomial and Splines 4. Natural Cubic Splines

5. Methods

5.1 Function spline 6. Applications

6.1 Maple Spline Function 6.2 Interpolation with splines

2

(3)

Contents

3

7. Implementation of Spline

7.1 A programme for calculating spline 7.2 Testing

8. Glossary

9. Bibliography

Splines and applications

(4)

1. History of splines

ƒ originally developed for ship-building in the days before computer modeling.

ƒ Pierre Bézier

4

(5)

http://www.macnaughtongroup.com/s pline_weights.htm

2. What is a spline?

ƒ simply a curve

ƒ In mathematics a spline is a special function defined piecewise by polynomials. In computer science the term spline refers to a

piecewise polynomial curve.

ƒ The solution was to place metal weights (called knots) at the control points, and bend a thin metal or wooden beam (called a spline) through the weights.

5

weight

(6)

http://en.wikipedia.org/wiki/Piecewis e

3. Piecewise Polynomial and Splines

1.) A piecewise polynomial ftn

f(x)

is obtained by dividing of X into

contiguous intervals, and representing f(x) by a separate polynomial in each interval.

- The polynomials are joined together at the interval endpoints (knots) in such a way that a certain degree of smoothness of the resulting function is guaranteed.

6

(7)

3. Piecewise Polynomial and Splines

Denote by

hj(X) : IRIR

the

jth transformation of X, j=1…M. We then model

a linear basis expansion in X.

2.) A piecewise constant:

7

- basis function :

- This panel shows a piecewise constant function fit to some artificial data. The broken vertical lines indicate the position of the two knots ξ1 and ξ2. - The blue curve represents the true function.

(8)

3. Piecewise Polynomial and Splines

3.) A piecewise linear

4.) continous piecewise linear

8

- basis function : three additional basis ftn are needed

- restricted to be continuous at the two knots.

- linear constraints on the parameters:

- the panel shows piecewise linear function fit to the data.

- unrestricted to be continuous at the knots.

- the panel shows piecewise linear function fit to the data.

- restricted to be continuous at the knots.

(9)

• - The function in the lower right panel is continuous and has continuous first and second derivatives.

• - It is known as a cubic spline.

• - basis function:

3. Piecewise Polynomial and Splines

7.) Piecewise cubic polynomial

9

- the pictures show a series of piecewise-cubic polynomials fit to the same data, with increasing orders of continuity at the knots.

(10)

3. Piecewise Polynomial and Splines

10

8.) An order-M spline

with knot is a piecewise-polynomial of order M, and has continuous derivatives up to order M-2.

- a cubic spline has M=4. Cubic splines are the lowest-oder spline for which the knot- discontinuity is not visible to the human eye.

- the piecewise-constant function is an order-1 spline, while the continuous piecewise linear function is an order-2 spline.

In practice the most widely used orders are M=1,2 and 4.

(11)

4. Natural Cubic Splines

Natural Cubic Splines

Cubic spline is a spline constructed of piecewise third-order polynomials which pass through a set of m control points.

The second derivate of each polynomial is commonly set to zero at the endpoints, since this provides a boundary condition that completes the system of m-2 equations.

This produces a so-called “natural” cubic spline and leads to a simple tridiagonal system which can be solved easily to give the coefficients of the polynomials.

11

(12)

5.1 Function Spline

spline(x,y,z,d);

x,y - two vectors or two lists z - name

d - (optional) positive integer or string

The spline function computes a piecewise polynomial approximation to the X Y data values of degree d (default 3) in the variable z. The X values must be distinct and in ascending order. There are no conditions on the Y values.

5 5 . . Methods Methods

12

(13)

6.1 Maple Spline Function: y=sin(x)

and

x=[0,6]

> plot(sin(x),x=0..6);

> f:=x->sin(x);

> x1:=[0,1,2,3,4,5,6];

> fx1:=map(f,x1);

> plot([sin(x),spline(x1,fx1,x,'linear')],x=0..6,color=[red,blue],style=[line,line]);

> plot([sin(x),spline(x1,fx1,x,'cubic')],x=0..6,color=[red,blue],style=[line,line]);

> plot([sin(x),spline(x1,fx1,x,2)],x=0..6,color=[red,blue],style=[line,line]);

6 6 . . Applications Applications

13

(14)

6 6 . . Applications Applications

6.2 Interpolation with cubic spline

The function is f(x)=sin(π/2*x), x∈[-1,1]. Interpolant the function on -1, 0, 1 with cubic spline, which satisfied the following boundary conditions:

S´(-1)=f’(-1)=0 S´(1)=f’(1)=0 One seeks the cubic spline in the folowing form:

By stating the interpolant conditions, the continuity of the spline is satisfied:

14

(15)

15

6.2 Interpolation with cubic spline

In the same time the first and the second derivate of the spline needs to be also continous:

One obtains 6 equations involving 8 unknows, and in this way the Hermite condition needs to be taken into account:

Solve the system of equations. By using the equations 2), 3), 5) and 6) one can reduce the original system:

6 6 . . Applications Applications

(16)

16

6.2 Interpolation with cubic spline

Solving this:

One obtains a1-a2=0 and a1+a2=-1 => a1=a2=-1/2.

Finally the sought spline reads as follows:

6 6 . . Applications Applications

(17)

7.1 A programme for calculating spline

- procedure polynom creation

> creation_poly:=proc(d1,d2,x1,x2,y1,y2) local x,h:

h:=x2-x1:

unapply(y1*(x2-x)/h + y2*(x-x1)/h -h*h/6*d1*((x2-x)/h-((x2-x)/h)^3) -h*h/6*d2*((x-x1)/h-((x-x1)/h)^3),x) end:

7 7 . . Implementation Implementation of of Spline Spline

17

(18)

- Procedure spline

> s:=proc(x::list(numeric),y::list(numeric)) local n,i,j,mat,res,sol,draw,h1,h2,pol:

if nops(x)<>nops(y) then ERROR(„number of x and y most be equal") fi:

n:=nops(x):

mat:=[1,seq(0,j=1..n-1)],[seq(0,j=1..n-1),1]:

res:=0,0:

for i from 2 to n-1 do h1:=x[i]-x[i-1]:

h2:=x[i+1]-x[i]:

mat:=[seq(0,j=1..i-2),h1*h1,2*(h1*h1+h2*h2),h2*h2,seq(0,j=1..n-i-1)],mat:

res:=6*(y[i+1]-2*y[i]+y[i-1]),res:

od:

sol:=linsolve([mat],[res]):

draw:=NULL:

for i to n-1 do

pol:=creation_poly(sol[i],sol[i+1],x[i],x[i+1],y[i],y[i+1]):

draw:=plot(pol(z),z=x[i]..x[i+1]),draw:

od:

eval(draw):

end:

18

7 7 . . Implementation Implementation of of Spline Spline

(19)

7.2 Testing the programme

> test1:=s([0,1/4,1/2,3/4,1],[0,1/16,1/4,9/16,1]):

> display(test1,plot(x^2,x=0..1,color=blue));

19

7 7 . . Implementation Implementation of of Spline Spline

(20)

7 7 . . Implementation Implementation of of Spline Spline

7.2 Testing the programme

> test2:=s([0,1/100,1/25,1/16,1/4,16/25,1],[0,1/10,1/5,1/4,1/2,4/5,1]):

> display(test2,plot(sqrt(x),x=0..1,color=blue), view=[0..1,0..1]);

20

(21)

8 8 . . Glossary Glossary

21

piecewise: a piecewise-defined function f(x) of a real variable x is a function whose definition is given differently on disjoint intervals of its domain. A common example is the absolute value function.

spline: in mathematics a spline is a special function defined piecewise by polynomials.

In computer science the term spline refers to a piecewise polynomial curve.

cubic spline: is a spline constructed of piecewise third-order polynomials which pass through a set of m control points. The second derivate of each polynomial is commonly set to zero at the endpoints, since this provides a boundary condition that completes the system of m-2 equations. This produces a so-called “natural” cubic spline and leads to a simple tridiagonal system which can be solved easily to give the coefficients of the

polynomials.

(22)

9 9 . . Bibliography Bibliography

22

Jerome Friedman, Trevor Hastie, Robert Tibshirani (2001). The Elements of Statistical Learning, Basis expansion and regularization: 115-164.

Course (2001-2002). Symbolic and Numerical Computation. “Babes-Bolyai” University

Basis expansion and regularization – from site of Seoul National University

http://stat.snu.ac.kr/prob/seminar/ElementsOfStatisticalLearning/Chapter5.ppt

Spline Cubic – from Wolfram MathWorld

http://mathworld.wolfram.com/CubicSpline.html

Piecewise – Wikipedia the free encyclopedia

http://en.wikipedia.org/wiki/Piecewise

Splines – from site of University of Oregon

http://www.uoregon.edu/~greg/math352-04w/splines.pdf

Spline weight image – from site of MacNaughton Yacht Designs

http://www.macnaughtongroup.com/spline_weights.htm

Referințe

DOCUMENTE SIMILARE

3 (a &amp; b) shows the specific wear rate of the composites with varying the parameters such as load and sliding velocity. Similarly, the sliding velocity was taken as 10 m/s and

Alternatively to the approach of gluing polynomial pieces, an extremal prop- erty generalizing (3.11) from item 2.1 has been used to define multivariate spline functions as

In this paper one approximates the Cauchy transform of a complex function on a simple closed curve, using an interpolation cubic spline function given by Iancu (1987)1.

For the calibration of the connection between the integral intensity of the band “amide I” and the acetylation degree, five mixes were prepared with different proportions of

The evolution to globalization has been facilitated and amplified by a series of factors: capitals movements arising from the need of covering the external

Using a case study designed for forecasting the educational process in the Petroleum-Gas University, the paper presents the steps that must be followed to realise a Delphi

De¸si ˆın ambele cazuri de mai sus (S ¸si S ′ ) algoritmul Perceptron g˘ ase¸ste un separator liniar pentru datele de intrare, acest fapt nu este garantat ˆın gazul general,

The best performance, considering both the train and test results, was achieved by using GLRLM features for directions {45 ◦ , 90 ◦ , 135 ◦ }, GA feature selection with DT and