chezahuynya1/app/zadachi/zadacha2.py

36 lines
1.5 KiB
Python
Raw Normal View History

2024-10-14 22:56:34 +03:00
import numpy as np
class zadacha2:
def calculate_coefficients(self, X, Y):
"""
Функция для расчета коэффициентов b0 и b1 по методу наименьших квадратов (МНК)
:param X: массив значений независимой переменной
:param Y: массив значений зависимой переменной
:return: коэффициенты b0 и b1
"""
n = len(X)
# Вычисляем средние значения X и Y
mean_x = np.mean(X)
mean_y = np.mean(Y)
# Вычисляем коэффициент b1
numerator = np.sum((X - mean_x) * (Y - mean_y))
denominator = np.sum((X - mean_x) ** 2)
b1 = numerator / denominator
# Вычисляем коэффициент b0
b0 = mean_y - b1 * mean_x
return b0, b1
def predict(self, X, b0, b1):
"""
Функция для предсказания значений Y на основе коэффициентов b0 и b1
:param X: массив значений независимой переменной
:param b0: коэффициент b0 (свободный член)
:param b1: коэффициент b1 (коэффициент при X)
:return: предсказанные значения Y
"""
return b0 + b1 * X