Source code for regtools.hypothesis.lincom

from typing import Dict

import numpy as np


[docs]def hypothesis_test(result, col_coef_dict: Dict[str, float]): """ Perform a hypothesis test with one or multiple columns :param result: regression result :param col_coef_dict: keys are names of columns in DataFrame used for regression. Values are coefficients to apply to those columns. :return: """ r_matrix = _create_r_matrix_for_hypothesis_test(result, col_coef_dict) return result.t_test(r_matrix, use_t=True)
def _create_r_matrix_for_hypothesis_test(result, col_coef_dict): """ col_coef_dict: dict, keys are names of columns in DataFrame used for regression. Values are coefficients to apply to those columns. """ index_coef_dict = _replace_dict_keys_with_key_index_in_list(col_coef_dict, result.model.exog_names) r_matrix = _numpy_array_from_index_coef_dict(result, index_coef_dict) return r_matrix def _numpy_array_from_index_coef_dict(result, index_coef_dict): arr = np.zeros(len(result.model.exog_names)) _modify_array_from_index_coef_dict(arr, index_coef_dict) return arr def _modify_array_from_index_coef_dict(arr, index_coef_dict): """ Note: inplace """ for index, coef in index_coef_dict.items(): arr[index] = coef def _replace_dict_keys_with_key_index_in_list(dict_, list_): return {list_.index(key): value for key, value in dict_.items()}