Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in...

25
Curve Fitting and Regression EEE 244

Transcript of Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in...

Page 1: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Curve Fitting and Regression

EEE 244

Page 2: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Descriptive Statistics in MATLAB• MATLAB has several built-in commands to compute

and display descriptive statistics. Assuming some column vector s: – mean(s), median(s), mode(s)

• Calculate the mean, median, and mode of s. mode is a part of the statistics toolbox.

– min(s), max(s)• Calculate the minimum and maximum value in s.

– var(s), std(s)• Calculate the variance (square of standard deviation) and standard

deviation of s

• Note - if a matrix is given, the statistics will be returned for each column.

Page 3: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Measurements of a VoltageDrain Current in mA at intervals t=10am-10pm

6.5

6.3

6.2

6.5

6.2

6.7

6.4

6.4

6.8

Find mean, median, mode , min, max, variance and standard deviation using appropriate Matlab functions.

Page 4: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Histograms in MATLAB• [n, x] = hist(s, x)

– Determine the number of elements in each bin of data in s. x is a vector containing the center values of the bins.

– Open Matlab help and run example with 1000 randomly generated values for s.

• [n, x] = hist(s, m)– Determine the number of elements in each bin of data in s using

m bins. x will contain the centers of the bins. The default case is m=10

– Repeat the previous example with setting m=5

• Hist(s) ->histogram plot

Page 5: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

REGRESSIONEEE 244

Page 6: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

6

Linear Regression• Fitting a straight line to a

set of paired observations: (x1, y1), (x2, y2),…,(xn, yn).

y=a0+a1x+e

a1- slope

a0- intercepte- error, or residual, between the model and the observations

Page 7: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Linear Least-Squares Regression• Linear least-squares regression is a method to

determine the “best” coefficients in a linear model for given data set.

• “Best” for least-squares regression means minimizing the sum of the squares of the estimate residuals. For a straight line model, this gives:

Sr ei2

i1

n

yi a0 a1xi 2

i1

n

Page 8: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Least-Squares Fit of a Straight Line

• Using the model:

the slope and intercept producing the best fit can be found using:

y a0 a1x

a1 n xiyi xi yi

n xi2 xi 2

a0 y a1x

Page 9: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

ExampleV

(m/s)F

(N)

i xi yi (xi)2 xiyi

1 10 25 100 250

2 20 70 400 1400

3 30 380 900 11400

4 40 550 1600 22000

5 50 610 2500 30500

6 60 1220 3600 73200

7 70 830 4900 58100

8 80 1450 6400 116000

360 5135 20400 312850

a1 n xiyi xi yi

n xi2 xi 2

8 312850 360 5135 8 20400 360 2 19.47024

a0 y a1x 641.875 19.47024 45 234.2857

Fest 234.285719.47024v

Page 10: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Standard Error of the Estimate• Regression data showing (a) the spread of data around the mean

of the dependent data and (b) the spread of the data around the best fit line:

• The reduction in spread represents the improvement due to linear regression.

Page 11: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

MATLAB Functions• MATLAB has a built-in function polyfit that fits a

least-squares nth order polynomial to data:– p = polyfit(x, y, n)

• x: independent data• y: dependent data• n: order of polynomial to fit• p: coefficients of polynomial

f(x)=p1xn+p2xn-1+…+pnx+pn+1

• MATLAB’s polyval command can be used to compute a value using the coefficients.– y = polyval(p, x)

Page 12: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Polyfit function

• Can be used to perform REGRESSION if the number of data points is a lot larger than the number of coefficients – p = polyfit(x, y, n)

• x: independent data (Vce, 10 data points)• y: dependent data (Ic)• n: order of polynomial to fit n=1 (linear fit)• p: coefficients of polynomial (two coefficients)

f(x)=p1xn+p2xn-1+…+pnx+pn+1

Page 13: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Polynomial Regression• The least-squares procedure

can be readily extended to fit data to a higher-order polynomial. Again, the idea is to minimize the sum of the squares of the estimate residuals.

• The figure shows the same data fit with:

a) A first order polynomialb) A second order polynomial

Page 14: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Process and Measures of Fit

• For a second order polynomial, the best fit would mean minimizing:

• In general, this would mean minimizing:

Sr ei2

i1

n

yi a0 a1xi a2xi2 2

i1

n

Sr ei2

i1

n

yi a0 a1xi a2xi2 am xi

m 2

i1

n

Page 15: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

INTERPOLATIONEEE 244

Page 16: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Polynomial Interpolation

• You will frequently have occasions to estimate intermediate values between precise data points.

• The function you use to interpolate must pass through the actual data points - this makes interpolation more restrictive than fitting.

• The most common method for this purpose is polynomial interpolation, where an (n-1)th order polynomial is solved that passes through n data points:

f (x) a1 a2x a3x2 anxn 1

MATLAB version :

f (x) p1xn 1 p2xn 2 pn 1x pn

Page 17: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Determining Coefficients using Polyfit

• MATLAB’s built in polyfit and polyval commands can also be used - all that is required is making sure the order of the fit for n data points is n-1.

Page 18: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Newton Interpolating Polynomials

• Another way to express a polynomial interpolation is to use Newton’s interpolating polynomial.

• The differences between a simple polynomial and Newton’s interpolating polynomial for first and second order interpolations are:

Order Simple Newton1st f1(x) a1 a2x f1(x) b1 b2(x x1)2nd f2 (x) a1 a2x a3x2 f2 (x) b1 b2(x x1)b3(x x1)(x x2 )

Page 19: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Newton Interpolating Polynomials (contd.)

• The first-order Newton interpolating polynomial may be obtained from linear interpolation and similar triangles, as shown.

• The resulting formula based on known points x1 and x2 and the values of the dependent function at those points is:

f1 x f x1 f x2 f x1 x2 x1

x x1

Page 20: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Newton Interpolating Polynomials (contd.)

• The second-order Newton interpolating polynomial introduces some curvature to the line connecting the points, but still goes through the first two points.

• The resulting formula based on known points x1, x2, and x3 and the values of the dependent function at those points is:

f2 x f x1 f x2 f x1 x2 x1

x x1

f x3 f x2 x3 x2

f x2 f x1

x2 x1

x3 x1

x x1 x x2

Page 21: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Lagrange Interpolating Polynomials• Another method that uses shifted value to express an

interpolating polynomial is the Lagrange interpolating polynomial.

• The differences between a simply polynomial and Lagrange interpolating polynomials for first and second order polynomials is:

where the Li are weighting coefficients that are functions of x.

Order Simple Lagrange1st f1(x) a1 a2x f1(x) L1 f x1 L2 f x2 2nd f2 (x) a1 a2x a3x2 f2 (x) L1 f x1 L2 f x2 L3 f x3

Page 22: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Lagrange Interpolating Polynomials (contd.)

• The first-order Lagrange interpolating polynomial may be obtained from a weighted combination of two linear interpolations, as shown.

• The resulting formula based on known points x1 and x2 and the values of the dependent function at those points is:

f1(x) L1 f x1 L2 f x2

L1 x x2

x1 x2

, L2 x x1

x2 x1

f1(x) x x2

x1 x2

f x1 x x1

x2 x1

f x2

Page 23: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

23

)(

)()()(

)()()(

21202

10

12101

200

2010

212

101

00

10

11

xfxxxx

xxxx

xfxxxx

xxxxxf

xxxx

xxxxxf

xfxx

xxxf

xx

xxxf

•As with Newton’s method, the Lagrange version has an estimated error of:

n

iinnn xxxxxxfR

001 )(],,,,[

Page 24: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

24

Figure 18.10

Page 25: Curve Fitting and Regression EEE 244. Descriptive Statistics in MATLAB MATLAB has several built-in commands to compute and display descriptive statistics.

Lagrange Interpolating Polynomials (contd.)

• In general, the Lagrange polynomial interpolation for n points is:

where Li is given by:

fn 1 xi Li x f xi i1

n

Li x x x j

xi x jj1ji

n