def coefficient_variance(number_of_coefficient, y_arr, y_explained, x_matrix): """ :param number_of_coefficient: number from range(n) :param y_arr: input y :param y_explained: y explained array :param x_matrix: x matrix from docs :return: variance of coefficient """ variance_e_2 = rss(y_arr, y_explained) / (n - k) # (X^T * X)^-1 mmatrix = linal.inv(numpy.dot(x_matrix.T, x_matrix)) v_matrix = numpy.dot(variance_e_2, mmatrix) return v_matrix[number_of_coefficient][number_of_coefficient]
data=df) res = model_logit_1.fit() print(res.summary()) loglikelihood_logit_1 = res.llf # Проверьте значимость модели в целом # Прогноз выживания по модели y_estimate = [ 1 if math.exp(res.params[0] + res.params[1] * sex[i] + res.params[2] * class_1[i] + res.params[3] * class_2[i]) > 1 else 0 for i in range(len(sex)) ] ess_y = ess(survived, y_estimate) rss_y = rss(survived, y_estimate) k = 4 # кол-во коэффициентов (с учётом свободного) n = len(survived) # объём выборки f_crit = f.ppf(0.95, k - 1, n - k) f_real = ess_y / (k - 1) / (rss_y / (n - k)) if f_crit < f_real: print( 'Отвергаем гипотзу о значимости модели регрессии в целом H0:(b1=b2=b3=b4=0)' ) else: print( 'Принмаем гипотзу о значимости модели регрессии в целом H0:(b1=b2=b3=b4=0)' )
file='data/4problem.csv') x_3 = read_column_from_csv(column_number=1 + (variation - 1) * 4, file='data/4problem.csv') x_4 = read_column_from_csv(column_number=2 + (variation - 1) * 4, file='data/4problem.csv') y_1 = read_column_from_csv(column_number=3 + (variation - 1) * 4, file='data/4problem.csv') y_estimation = [ coefficient_vector[0] + coefficient_vector[1] * x_2[i] + coefficient_vector[2] * x_3[i] + coefficient_vector[3] * x_4[i] for i in range(40) ] ess_ur = ess(y_1, y_estimation) rss_ur = rss(y_1, y_estimation) # Fisher dist f_crit = f.ppf(0.95, k - 1, n - k) f_real = ess_ur / (k - 1) / (rss_ur / (n - k)) print('F (95%, k-1, n-4) is {}'.format(f_crit)) print('ess / (k - 1) / (rss / (n - k)) is {}'.format(f_real)) if f_crit < f_real: print( 'Отвергаем гипотезу о значимости модели регрессии в целом (b1=b2=b3=b4=0)' ) else: print( 'Принимаем гипотезу о значимости модели регрессии в целом (b1=b2=b3=b4=0)'