Maison  >  Article  >  interface Web  >  Comment trouver l'intervalle de confiance bootstrap

Comment trouver l'intervalle de confiance bootstrap

尚
original
2019-07-27 15:11:587912parcourir

Comment trouver l'intervalle de confiance bootstrap

intervalle de confiance bootstrap :

Supposons que la distribution F de la population soit inconnue, mais qu'il existe un échantillon de données de la distribution F avec une capacité de n, puisque Cet échantillon extrait un échantillon d'une capacité de n selon la méthode d'échantillonnage avec remplacement. Cet échantillon est appelé échantillon bootstrap. Extrayez successivement et indépendamment de nombreux échantillons bootstrap de l'échantillon d'origine et utilisez ces échantillons pour faire des inférences statistiques sur la population F. Cette méthode est appelée méthode bootstrap non paramétrique, également connue sous le nom de méthode bootstrap.

L'intervalle de confiance de la variable (paramètre) peut être obtenu à l'aide de la méthode bootstrap, appelée intervalle de confiance bootstrap.

intervalle de confiance bootstrap :

Utilisez Python pour calculer l'intervalle de confiance bootstrap :

Ici, nous prenons des données unidimensionnelles comme un exemple, l'échantillonnage. Cette moyenne sert d'estimateur d'échantillon. Le code est le suivant :

import numpy as np


def average(data):
    return sum(data) / len(data)


def bootstrap(data, B, c, func):
    """
    计算bootstrap置信区间
    :param data: array 保存样本数据
    :param B: 抽样次数 通常B>=1000
    :param c: 置信水平
    :param func: 样本估计量
    :return: bootstrap置信区间上下限
    """
    array = np.array(data)
    n = len(array)
    sample_result_arr = []
    for i in range(B):
        index_arr = np.random.randint(0, n, size=n)
        data_sample = array[index_arr]
        sample_result = func(data_sample)
        sample_result_arr.append(sample_result)

    a = 1 - c
    k1 = int(B * a / 2)
    k2 = int(B * (1 - a / 2))
    auc_sample_arr_sorted = sorted(sample_result_arr)
    lower = auc_sample_arr_sorted[k1]
    higher = auc_sample_arr_sorted[k2]

    return lower, higher


if __name__ == '__main__':
    result = bootstrap(np.random.randint(0, 50, 50), 1000, 0.95, average)
    print(result)

Sortie :

(20.48, 28.32)

Recommandé : tutoriel d'introduction au bootstrap

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn