How to resolve the algorithm Polynomial regression step by step in the Racket programming language

Published on 12 May 2024 09:40 PM

How to resolve the algorithm Polynomial regression step by step in the Racket programming language

Table of Contents

Problem Statement

Find an approximating polynomial of known degree for a given data. Example: For input data: The approximating polynomial is: Here, the polynomial's coefficients are (3, 2, 1). This task is intended as a subtask for Measure relative performance of sorting algorithms implementations.

Let's start with the solution:

Step by Step solution about How to resolve the algorithm Polynomial regression step by step in the Racket programming language

Source code in the racket programming language

#lang racket
(require math plot)

(define xs '(0 1  2  3  4  5   6   7   8   9  10))
(define ys '(1 6 17 34 57 86 121 162 209 262 321))

(define (fit x y n)
  (define Y (->col-matrix y))
  (define V (vandermonde-matrix x (+ n 1)))
  (define VT (matrix-transpose V))
  (matrix->vector (matrix-solve (matrix* VT V) (matrix* VT Y))))
  
(define ((poly v) x)
  (for/sum ([c v] [i (in-naturals)])
    (* c (expt x i))))

(plot (list (points   (map vector xs ys))
            (function (poly (fit xs ys 2)))))


  

You may also check:How to resolve the algorithm Metaprogramming step by step in the FreeBASIC programming language
You may also check:How to resolve the algorithm UTF-8 encode and decode step by step in the M2000 Interpreter programming language
You may also check:How to resolve the algorithm Closures/Value capture step by step in the OCaml programming language
You may also check:How to resolve the algorithm Decorate-sort-undecorate idiom step by step in the Java programming language
You may also check:How to resolve the algorithm Sequence: nth number with exactly n divisors step by step in the ALGOL 68 programming language