Skip to main content
Engineering LibreTexts

1.7: Regression Analysis

  • Page ID
    9465
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    屏幕快照 2019-05-28 16.47.49.png

    What is Regression Analysis?

    Suppose we calculate some variable of interest, y, as a function of some other variable x. We call y the dependent variable and x the independent variable. For example, consider the data set below, taken from a simple experiment involving a vehicle, its velocity versus time is tabulated. In this case, velocity is a function of time, thus velocity is the dependent variable and the time is the independent variable.

    Time [s] Velocity [m/s]
    0 20
    10 39
    20 67
    30 89
    40 111
    50 134
    60 164
    70 180
    80 200

    Vehicle velocity versus time.

    In its simplest form regression analysis involves fitting the best straight line relationship to explain how the variation in a dependent variable, y, depends on the variation in an independent variable, x. In our example above, once the relationship (in this case a linear relationship) has been estimated we can produce a linear equation in the following form:

    \(y=m x+n\)

    And once an analytic equation such as the one above has been determined, dependent variables at intermediate independent values can be computed.

    Performing Linear Regression

    Regression analysis with MATLAB is easy. The MATLAB Basic Fitting GUI allows us to interactively to do "curve fitting" which is a method to arrive at the best "straight line" fit for linear equations or the best curve fit for a polynomial up to the tenth degree. The procedure to perform a curve fitting with MATLAB is as follows:

    1. Input the variables,
    2. Plot the data,
    3. Initialize the Basic Fitting GUI,
    4. Select the desired regression analysis parameters.

    Using the data set above, determine the relationship between velocity and time.

    First, let us input the variables (Workspace > New variable) as shown in the following figures.

    屏幕快照 2019-05-28 18.45.43.png

    Figure \(\PageIndex{1}\). A new variable is created in the Workspace.

    屏幕快照 2019-05-28 18.47.06.png

    Figure \(\PageIndex{2}\). New variables are entered in the Variable Editor.

    Second, we will plot the data by typing in plot(time,velocity) at the MATLAB prompt. The following plot is generated, select Tools > Basic Fitting:

    屏幕快照 2019-05-28 18.48.23.png

    Figure \(\PageIndex{3}\). A plot is generated in Figure 1. The Basic Fitting tool can be initialized from Tools > Basic Fitting.

    In the "Basic Fitting" window, select "linear" and "Show equations". The best fitting linear line along with the corresponding equation are displayed on the plot:

    屏幕快照 2019-05-28 18.49.27.png

    Figure \(\PageIndex{4}\). Basic Fitting window is used to select the desired regression analysis parameters.

    Now let us do another curve fitting and obtain an equation for the function. Using that equation, we can evaluate the function at a desired value with polyval.

    The following is a collection of data for an iron-constantan thermocouple (data available for download). 1

    Temperature [C] Voltage [mV]
    50 2.6
    100 6.7
    150 8.8
    200 11.2
    300 17.0
    400 22.5
    500 26
    600 32.5
    700 37.7
    800 41
    900 48
    1000 55.2

    Temperature [C] vs Voltage [mV]

    1. Plot a graph with Temperature as the independent variable.
    2. Determine the equation of the relationship using the Basic Fitting tools.
    3. Estimate the Voltage that corresponds to a Temperature of 650 C and 1150 C.

    We will input the variables first

    Voltage=[2.6;6.7;8.8;11.2;17;22.5;26;32.5;37.7;41;48;55.2]
    

    Voltage=[2.6;6.7;8.8;11.2;17;22.5;26;32.5;37.7;41;48;55.2]
    

    To plot the graph, type in:

    plot(Temp,Voltage)
    

    We can now use the Plot Tools and Basic Fitting settings and determine the equation:

    屏幕快照 2019-05-28 18.59.31.png

    Figure \(\PageIndex{5}\). Basic Fitting window is used to select the desired regression analysis parameters.

    By clicking the right arrow twice at the bottom right corner on the Basic Fitting window, we can evaluate the function at a desired value. See the figure below which illustrates this process for the temperature value 1150 C.

    屏幕快照 2019-05-28 19.00.45.png

    Figure \(\PageIndex{6}\). Estimating the Voltage that corresponds to a Temperature of 1150 C.

    Now let us check our answer with a technique we learned earlier. As displayed on the plot, we have obtained the following equation:\(y=0.052831 x+0.67202\) This equation can be entered as polynomial and evaluated at 650 and 1150 as follows:

    >> p=[0.052831,0.67202]
    
    p =
    
        0.0528    0.6720
    
    >> polyval(p,1150)
    
    ans =
    
       61.4277
    

    Summary of Key Points

    1. Linear regression involves fitting the best straight line relationship to explain how the variation in a dependent variable, y, depends on the variation in an independent variable, x,
    2. Basic Fitting GUI allows us to interactively perform curve fitting,
    3. Some of the plot fits available are linear, quadratic and cubic functions,
    4. Basic Fitting GUI can evaluate functions at given points.

    Footnotes

    • 1 Engineering Fundamentals and Problem Solving by Arvid R. Eide, Roland Jenison, Larry L. Northup, Steven K. Mikelson , McGraw-Hill Higher Education. © 2007 p.114

    This page titled 1.7: Regression Analysis is shared under a CC BY 4.0 license and was authored, remixed, and/or curated by Serhat Beyenir via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.

    • Was this article helpful?