Рубрики

Программа для реализации t-теста

T-тест (также называемый t-тестом Стьюдента) сравнивает два средних значения (среднее) и сообщает, отличаются ли они друг от друга. T-критерий также показывает, насколько существенны различия. Другими словами, он позволяет узнать, могли ли эти различия возникнуть случайно. t-критерий можно рассчитать по формуле:

где,
1 — среднее значение первого набора данных
2 — среднее значение второго набора данных
S 1 2 — стандартное отклонение первого набора данных
S 2 2 — стандартное отклонение второго набора данных
N 1 — количество элементов в первом наборе данных
N 2 — количество элементов во втором наборе данных

Примеры :

Input : arr1[] = {10, 20, 30, 40, 50}
        arr2[] = {1, 29, 46, 78, 99}
Output : -1.09789

Input : arr1[] = {5, 20, 40, 80, 100, 120}
        arr2[] = {1, 29, 46, 78, 99}
Output : 0.399518

Пояснение:
В примере 1 x̄ 1 = 30, x̄ 2 = 50,6, S 1 2 = 15,8114, S 1 2 = 38,8626
по формуле t-критерий = -1.09789

Ниже приведена реализация t-критерия.

C ++

// Программа CPP для реализации t-теста.
#include <bits/stdc++.h>

using namespace std;

  
// Функция для поиска среднего.

float Mean(float arr[], int n)

{

    float sum = 0;

    for (int i = 0; i < n; i++)

        sum = sum + arr[i];

    return sum / n;

}

  
// Функция для поиска стандарта
// отклонение заданного массива.

float standardDeviation(float arr[], int n)

{

    float sum = 0;

    for (int i = 0; i < n; i++)

        sum = sum + (arr[i] - Mean(arr, n)) *

                    (arr[i] - Mean(arr, n));

  

    return sqrt(sum / (n - 1));

}

  
// Функция для поиска t-критерия
// два набора статистических данных.

float tTest(float arr1[], int n,

            float arr2[], int m)

{

    float mean1 = Mean(arr1, n);

    float mean2 = Mean(arr2, m);

    float sd1 = standardDeviation(arr1, n);

    float sd2 = standardDeviation(arr2, m);

  

    // Формула для поиска t-критерия

    // из двух наборов данных.

    float t_test = (mean1 - mean2) / sqrt((sd1 * sd1)

                              / n + (sd2 * sd2) / m);

    return t_test;

}

  
// Функция драйвера.

int main()

{

    float arr1[] = { 10, 20, 30, 40, 50 };

  

    // Рассчитать размер первого массива.

    int n = sizeof(arr1) / sizeof(arr1[0]);

    float arr2[] = { 1, 29, 46, 78, 99 };

  

    // Рассчитать размер второго массива.

    int m = sizeof(arr2) / sizeof(arr2[0]);

  

    // Вызов функции.

    cout << tTest(arr1, n, arr2, m);

  

    return 0;

}

Джава

// Java-программа для реализации t-теста.

import java.util.*;

import java.io.*;

  

class GFG 

{

    // Функция для поиска среднего.

    static float Mean(float arr[], int n)

    {

        float sum = 0;

        for (int i = 0; i < n; i++)

            sum = sum + arr[i];

        return sum / n;

    }

  

    // Функция для поиска стандарта

    // отклонение заданного массива.

    static float standardDeviation(float arr[], int n)

    {

        float sum = 0;

        for (int i = 0; i < n; i++)

            sum = sum + (arr[i] - Mean(arr, n)) 

                  * (arr[i] - Mean(arr, n));

  

        return (float)Math.sqrt(sum / (n - 1));

    }

  

    // Функция для поиска t-критерия

    // два набора статистических данных.

    static float tTest(float arr1[], int n,

                        float arr2[], int m)

    {

        float mean1 = Mean(arr1, n);

        float mean2 = Mean(arr2, m);

        float sd1 = standardDeviation(arr1, n);

        float sd2 = standardDeviation(arr2, m);

  

        // Формула для поиска t-критерия

        // из двух наборов данных.

        float t_test = (mean1 - mean2) / 

                       (float)Math.sqrt((sd1 * sd1) /

                       n + (sd2 * sd2) / m);

        return t_test;

    }

  

    // Код драйвера

    public static void main(String args[])

    {

         float arr1[] = { 10, 20, 30, 40, 50 };

  

        // Рассчитать размер первого массива.

        int n = arr1.length;

        float arr2[] = { 1, 29, 46, 78, 99 };

  

        // Рассчитать размер второго массива.

        int m = arr2.length;

  

        // Вызов функции.

        System.out.print(tTest(arr1, n, arr2, m));

    }

}

  
// Этот код предоставлен Sahil_Bansall

python3

# Python 3 Программа для реализации t-теста.

from math import sqrt

  
# Функция, чтобы найти среднее.

def Mean(arr, n):

    sum = 0

    for i in range(0, n, 1):

        sum = sum + arr[i]

    return sum / n

  
# Функция поиска стандарта
# отклонение заданного массива.

def standardDeviation(arr, n):

    sum = 0

    for i in range(0, n, 1):

        sum = (sum + (arr[i] - Mean(arr, n)) * 

                     (arr[i] - Mean(arr, n)))

  

    return sqrt(sum / (n - 1))

  
# Функция для поиска t-теста
# два набора статистических данных.

def tTest(arr1, n, arr2, m):

    mean1 = Mean(arr1, n)

    mean2 = Mean(arr2, m)

    sd1 = standardDeviation(arr1, n)

    sd2 = standardDeviation(arr2, m)

  

    # Формула для поиска t-теста

    # из двух наборов данных.

    t_test = (mean1 - mean2) / sqrt((sd1 * sd1) / n + 

                                    (sd2 * sd2) / m)

    return t_test

  
Код водителя

if __name__ == '__main__':

    arr1 = [10, 20, 30, 40, 50]

  

    # Рассчитать размер первого массива.

    n = len(arr1)

    arr2 = [1, 29, 46, 78, 99]

  

    # Рассчитать размер второго массива.

    m = len(arr2)

  

    # Вызов функции.

    print('{0:.6}'.format(tTest(arr1, n, arr2, m)))

  
# Этот код предоставлен
# Surendra_Gangwar

C #

// C # Программа для реализации t-теста.

using System;

  

class GFG {

      

    // Функция для поиска среднего.

    static float Mean(float[] arr, int n)

    {

        float sum = 0;

        for (int i = 0; i < n; i++)

            sum = sum + arr[i];

        return sum / n;

    }

  

    // Функция для поиска стандарта

    // отклонение заданного массива.

    static float standardDeviation(float[] arr, int n)

    {

        float sum = 0;

        for (int i = 0; i < n; i++)

            sum = sum + (arr[i] - Mean(arr, n)) *

                        (arr[i] - Mean(arr, n));

  

        return (float)Math.Sqrt(sum / (n - 1));

    }

  

    // Функция для поиска t-критерия

    // два набора статистических данных.

    static float tTest(float[] arr1, int n,

                       float[] arr2, int m)

    {

        float mean1 = Mean(arr1, n);

        float mean2 = Mean(arr2, m);

        float sd1 = standardDeviation(arr1, n);

        float sd2 = standardDeviation(arr2, m);

  

        // Формула для поиска t-критерия

        // из двух наборов данных.

        float t_test = (mean1 - mean2) / 

                       (float)Math.Sqrt((sd1 * sd1) /

                       n + (sd2 * sd2) / m);

        return t_test;

    }

      

    // Код драйвера

    static public void Main ()

    {

        float[] arr1 = {10, 20, 30, 40, 50};

  

        // Рассчитать размер первого массива

        int n = arr1.Length;

        float[] arr2 = { 1, 29, 46, 78, 99 };

  

        // Рассчитать размер второго массива

        int m = arr2.Length;

  

        // вызов функции

        Console.Write(tTest(arr1, n, arr2, m));

    }

}

  
// Этот код предоставлен Ajit.

PHP

<?php
// Программа PHP для реализации t-теста.

  
// Функция для поиска среднего.

function Mean($arr, $n)

{

    $sum = 0;

    for ($i = 0; $i < $n; $i++)

        $sum = $sum + $arr[$i];

    return $sum / $n;

}

  
// Функция для поиска стандарта
// отклонение заданного массива.

function standardDeviation($arr,$n)

{

    $sum = 0;

    for ($i = 0; $i < $n; $i++)

        $sum = $sum + ($arr[$i] - Mean($arr, $n)) *

                      ($arr[$i] - Mean($arr, $n));

  

    return sqrt($sum / ($n - 1));

}

  
// Функция для поиска t-критерия
// два набора статистических данных.

function tTest($arr1, $n,

               $arr2, $m)

{

    $mean1 = Mean($arr1, $n);

    $mean2 = Mean($arr2, $m);

    $sd1 = standardDeviation($arr1, $n);

    $sd2 = standardDeviation($arr2, $m);

  

    // Формула для поиска t-критерия

    // из двух наборов данных.

    $t_test = ($mean1 - $mean2) / 

               sqrt(($sd1 * $sd1) / 

               $n + ($sd2 * $sd2) / $m);

    return $t_test;

}

  
// Код драйвера
{

    $arr1 = array(10, 20, 30, 40, 50);

  

    // Рассчитать размер первого массива.

    $n = sizeof($arr1) / sizeof($arr1[0]);

      

    $arr2 = array( 1, 29, 46, 78, 99 );

  

    // Рассчитать размер второго массива.

    $m = sizeof($arr2) / sizeof($arr2[0]);

  

    // Вызов функции.

    echo tTest($arr1, $n, $arr2, $m);

  

    return 0;

}

  
// Этот код предоставлен нитин митталь.
?>


Выход:

-1.09789

Рекомендуемые посты:

Программа для реализации t-теста

0.00 (0%) 0 votes