fix: исправлен prediction

This commit is contained in:
Maxim Slipenko 2024-02-22 15:01:30 +03:00
parent 890e903b4b
commit fce98b683c

View File

@ -113,8 +113,7 @@ def linearPolynom(data):
monomials = ['c'] + ['x' + str(i) for i in range(1, x.shape[1] + 1)] monomials = ['c'] + ['x' + str(i) for i in range(1, x.shape[1] + 1)]
residualVariance = np.var(residuals, ddof=k) residualVariance = np.var(residuals, ddof=k)
scaledResidualVariance = (residualVariance / scaledResidualVariance = residualVariance / (n - k)
np.mean(residuals) ** 2) if np.mean(residuals) != 0 else np.nan
paramsAndTStats = np.vstack((params, tStats)).T paramsAndTStats = np.vstack((params, tStats)).T
@ -163,9 +162,7 @@ def squaredPolynom(data):
monomials = [monomial.replace(' ', '*') for monomial in monomials] monomials = [monomial.replace(' ', '*') for monomial in monomials]
residualVariance = np.var(residuals, ddof=k) residualVariance = np.var(residuals, ddof=k)
scaledResidualVariance = ( scaledResidualVariance = residualVariance / (n - k)
residualVariance / np.mean(residuals) ** 2
) if np.mean(residuals) != 0 else np.nan
paramsAndTStats = np.vstack((params, tStats)).T paramsAndTStats = np.vstack((params, tStats)).T
@ -194,8 +191,12 @@ def prediction(inputData, result: RegressionResult):
results = [] results = []
numVars = inputs.shape[1]
symbolsStr = ' '.join([f'x{i}' for i in range(1, numVars + 1)])
symbols = sp.symbols(symbolsStr)
for y, xValues in zip(outputs, inputs): for y, xValues in zip(outputs, inputs):
subsDict = dict(zip(expr.free_symbols, xValues)) subsDict = dict(zip(symbols, xValues))
predictedResult = expr.subs(subsDict) predictedResult = expr.subs(subsDict)
difference = predictedResult - y difference = predictedResult - y