Created
June 4, 2009 00:06
-
-
Save liebke/123349 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
;; load the necessary libraries | |
(use '(incanter core stats charts datasets)) | |
;; load the NIST filip data set | |
;; see information on this data set at http://www.itl.nist.gov/div898/strd/lls/data/Filip.shtml | |
(def data (to-matrix (get-dataset :filip))) | |
(def y (sel data :cols 0)) | |
;; use the sweep function to center the x values to reduce collinearity of the polynomial terms | |
(def x (sweep (sel data :cols 1))) | |
(def plot (scatter-plot x y)) | |
(view plot) | |
;; use the following model for the data y = x + x^2 + x^3 + ... + x^10 | |
;; the following line of code creates a matrix of the polynomial terms x, x^2, x^3, ..., x^10, | |
(def X (reduce bind-columns (for [i (range 1 11)] (pow x i)))) | |
;; run the regression | |
(def lm (linear-model y X)) | |
;; view the results | |
;; view the overall model fit | |
(:f-stat lm) ;; 2162.439 | |
(:f-prob lm) ;; 1.1E-16 | |
;; view the R^2 of the model | |
(:r-square lm) ;; 0.997 | |
;; view the estimates of the coefficients | |
(:coefs lm) | |
;; (0.878 0.065 -0.066 -0.016 0.037 0.003 -0.009 -2.8273E-4 9.895E-4 1.050E-5 -4.029E-5) | |
;; view the p-values for each of the coefficients | |
(:t-probs lm) | |
;; (0 0 0 1.28E-5 0.0 0.083 1.35E-12 0.379 3.74E-8 0.614 2.651E-5) | |
;; overlay the fitted values on the original scatter-plot | |
(add-points plot x (:fitted lm)) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment