(15C) Multiple Linear Regression for HP-15C
|
01-26-2014, 02:16 PM
(This post was last modified: 06-15-2017 01:30 PM by Gene.)
Post: #1
|
|||
|
|||
(15C) Multiple Linear Regression for HP-15C
To perform the regression of the following linear model:
Y = a + bX + cZ We transform it into the following equations: (Y-Ymean)/(X-Xmean) = b + c*(Z-Zmean)/(X-Xmean) Then Calculate a using: a = Ymean - b*Xmean - c*Zmean I have added a ZIP file containing the source code for the HP-15C that Torsten recently introduced to this web site (click here). The drawback for this method is having to enter the data twice. The advantage for this method (over using matrices in the HP-15C to perform multiple regression) is that there is no limit for the number of data points entered. Memory Map RCL 0 = Ymean RCL 1 = Xmean RCL 8 = Zmean RCL 9 = X - Xmean Flags F0 = When internally set, the program goes into data deletion mode. Listing Code: 1 LBL B # Enter Y before pressing B. Use this label to delete data Usage Phase 1 In this phase perform the following: 1. Clear teh statistical registers 2. Enter the values of Y. 3. Calculate the mean value of Y and record it. 4. Clear teh statistical registers 5. Enter the values of X. 6. Calculate the mean value of X and record it. 7. Clear teh statistical registers 8. Enter the values of Z. 9. Calculate the mean value of Z and record it. 10. Clear the statistical registers. 11. Enter teh means for Y, X, and Z in registers 0, 1, and 8 respectively. Phase 2 1. Enter the value of Y and press the keys f and A. 2. Enter the value of X and press R/S. 3. Enter the value of Z and press R/S. 4. Repeat steps 1 through 3 for all the observations. 5. To calculate the values of coefficients b and c, press the keys f and C. The program, displays the value of coefficient b in the X register. 6. Press the key X<>Y to view and record the value of coefficient c. 7. Press the key X<>Y. 8. Press the key R/S to display the coefficient a. To delete a data point: 1. Enter the value of Y and press the keys f and B. 2. Enter the value of X and press R/S. 3. Enter the value of Z and press R/S. Example Give the following data: Code: Y X Z In phase 1 calculate the mean for Y as 2.4, the mean for X as 3.1, and the mean for Z as 46. Store these means in registers 0, 1, and 8, respectively. 1. Enter the value of -4.5 and press the keys f and A. 2. Enter the value of 1 and press R/S. 3. Enter the value of 33 and press R/S. 4. Repeat steps 1 through 3 for all the above observations. 5. To calculate the values of coefficients b and c, press the keys f and C. The program, displays the 2.000 as the value of coefficient b in the X register. 6. Press the key X<>Y to view and record -0.30000 as the value of coefficient c. 7. Press the key X<>Y. 8. Press the key R/S to display 10.000 as the coefficient a. The model is Y = 10 + 2*X - 0.3*Z |
|||
01-27-2014, 07:35 AM
Post: #2
|
|||
|
|||
RE: Multiple Linear Regression for HP-15C
This example could be calculated without entering data twice or using any program.
Make sure to set the calculator to USER mode. Enter matrix \(A\): \(A = \begin{bmatrix} 1 & 1 & 55 \\ 1 & 2 & 67 \\ 1 & 3.5 & 33 \\ 1 & 4 & 34 \\ 1 & 5 & 41 \\ \end{bmatrix} \) Code: 5 ENTER 3 Enter matrix \(B\): \( B = \begin{bmatrix} -4.5 \\ -6.1 \\ 7.1 \\ 7.8 \\ 7.7 \\ \end{bmatrix} \) Code: 5 ENTER 1 Calculate \(C=A^{\top}A\): Code: RESULT C Calculate \(D=A^{\top}B\): Code: RESULT D Calculate \(E=C^{-1}D\): Code: RESULT E Get result: Code: RCL E -> 10 Cheers Thomas |
|||
01-27-2014, 11:57 AM
Post: #3
|
|||
|
|||
RE: Multiple Linear Regression for HP-15C
What is the size limit on using matrices in the 15C do to multiple regression?
|
|||
01-27-2014, 12:04 PM
Post: #4
|
|||
|
|||
RE: Multiple Linear Regression for HP-15C
Registers will be the limit. You've got to store all the data points, the results and the intermediates inside of 64 registers.
- Pauli |
|||
01-27-2014, 07:23 PM
Post: #5
|
|||
|
|||
RE: Multiple Linear Regression for HP-15C
(01-27-2014 11:57 AM)Namir Wrote: What is the size limit on using matrices in the 15C do to multiple regression?15. But you have to calculate D first, then delete B (DIM 0,0) and only then calculate C and E. My emulator on the iPhone sucks: it will just crash when I try to create a matrix that uses all 64 registers. So I can't tell you what happens when you try with 16 on the real thing. If you want to avoid entering the data twice you could use \(\sum{+}\) to calculate \(n\), \(\sum{X}\), \(\sum{X^2}\), \(\sum{Z}\), \(\sum{Z^2}\) and \(\sum{XZ}\). In addition to that you have to calculate \(\sum{Y}\), \(\sum{XY}\) and \(\sum{ZY}\) separately. Cheers Thomas |
|||
01-28-2014, 11:16 PM
Post: #6
|
|||
|
|||
RE: Multiple Linear Regression for HP-15C
(01-27-2014 07:23 PM)Thomas Klemm Wrote:(01-27-2014 11:57 AM)Namir Wrote: What is the size limit on using matrices in the 15C do to multiple regression?15. But you have to calculate D first, then delete B (DIM 0,0) and only then calculate C and E. My emulator on the iPhone sucks: it will just crash when I try to create a matrix that uses all 64 registers. So I can't tell you what happens when you try with 16 on the real thing. Thomas, My main point is to perform multiple linear regression using the L.R. command. One can always use the equations from the HP-67 Stat Pac I to do a straight forward calculations. Such calculations will require a longer program BUT has the advantage of entering the data once. |
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)