Regressiyalar

Regressiya — bitta o‘zgaruvchi (y) va boshqa o‘zgaruvchilar (x) orasidagi bog‘liqlikni aniqlash usuli.

Statistikada chiziqli regressiya — y va x orasidagi chiziqli bog‘liqlikni modellashtirish yondashuvi.

Mashinali o‘rganishda chiziqli regressiya — nazoratli mashinali o‘rganish algoritmi.

ULASHISH

Nuqtali diagramma

Bu (oldingi bobdagi) nuqtali diagramma:

Misol

const xArray = [50,60,70,80,90,100,110,120,130,140,150]; const yArray = [7,8,8,9,9,9,10,11,14,14,15]; // Define Data const data = [{   x:xArray,   y:yArray,   mode: "markers" }]; // Define Layout const layout = {   xaxis: {range: [40, 160], title: "Square Meters"},   yaxis: {range: [5, 16], title: "Price in Millions"},   title: "House Prices vs. Size" }; Plotly.newPlot("myPlot", data, layout);
O‘zingiz sinab ko‘ring »

Qiymatlarni bashorat qilish

Yuqoridagi sochilgan ma’lumotlardan kelajakdagi narxlarni qanday bashorat qilishimiz mumkin?

  • Qo‘lda chizilgan chiziqli grafikdan foydalanish
  • Chiziqli bog‘liqlikni modellashtirish
  • Chiziqli regressiyani modellashtirish


Chiziqli grafiklar

Bu eng past va eng yuqori narx asosida narxlarni bashorat qiluvchi chiziqli grafik:

Misol

const xArray = [50,60,70,80,90,100,110,120,130,140,150]; const yArray = [7,8,8,9,9,9,9,10,11,14,14,15]; const data = [   {x:xArray, y:yArray, mode:"markers"},   {x:[50,150], y:[7,15], mode:"line"} ]; const layout = {   xaxis: {range: [40, 160], title: "Square Meters"},   yaxis: {range: [5, 16], title: "Price in Millions"},   title: "House Prices vs. Size" }; Plotly.newPlot("myPlot", data, layout);
O‘zingiz sinab ko‘ring »

Oldingi bobdan

Chiziqli grafikni y = ax + b ko‘rinishida yozish mumkin

Bu yerda:

  • y — biz bashorat qilmoqchi bo‘lgan narx
  • a — chiziqning qiyaligi
  • x — kirish qiymatlari
  • b — kesishma

Chiziqli bog‘liqliklar

Bu model narx va o‘lcham orasidagi chiziqli bog‘liqlik yordamida narxlarni bashorat qiladi:

Misol

const xArray = [50,60,70,80,90,100,110,120,130,140,150]; const yArray = [7,8,8,9,9,9,10,11,14,14,15]; // Calculate Slope let xSum = xArray.reduce(function(a, b){return a + b;}, 0); let ySum = yArray.reduce(function(a, b){return a + b;}, 0); let slope = ySum / xSum; // Generate values const xValues = []; const yValues = []; for (let x = 50; x <= 150; x += 1) {   xValues.push(x);   yValues.push(x * slope); }
O‘zingiz sinab ko‘ring »

Yuqoridagi misolda qiyalik hisoblab topilgan o‘rtacha qiymatga, kesishma esa 0 ga teng.


Chiziqli regressiya funksiyasidan foydalanish

Bu model narxlarni chiziqli regressiya funksiyasi yordamida bashorat qiladi:

Misol

const xArray = [50,60,70,80,90,100,110,120,130,140,150]; const yArray = [7,8,8,9,9,9,10,11,14,14,15]; // Calculate Sums let xSum=0, ySum=0 , xxSum=0, xySum=0; let count = xArray.length; for (let i = 0, len = count; i < count; i++) {   xSum += xArray[i];   ySum += yArray[i];   xxSum += xArray[i] * xArray[i];   xySum += xArray[i] * yArray[i]; } // Calculate slope and intercept let slope = (count * xySum - xSum * ySum) / (count * xxSum - xSum * xSum); let intercept = (ySum / count) - (slope * xSum) / count; // Generate values const xValues = []; const yValues = []; for (let x = 50; x <= 150; x += 1) {   xValues.push(x);   yValues.push(x * slope + intercept); }
O‘zingiz sinab ko‘ring »

Polinomial regressiya

Agar sochilgan ma’lumot nuqtalari chiziqli regressiyaga (nuqtalar orqali o‘tuvchi to‘g‘ri chiziqqa) mos kelmasa, ma’lumotlar polinomial regressiyaga mos kelishi mumkin.

Polinomial regressiya ham chiziqli regressiya kabi ma’lumot nuqtalari orqali chiziq o‘tkazishning eng yaxshi usulini topish uchun x va y o‘zgaruvchilar orasidagi bog‘liqlikdan foydalanadi. Polynormal Regression

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!