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.
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.
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
