Загрузка данных


import math
import re
from statistics import mean, stdev

# Исходные данные одной строкой
data = """
-0.48, 0.85, 0.46, -0.3, 0.42, -1.21, -0.49, 0.68, 0.41, -0.44, 0.83, 1.45, -1.24, 0.47, -0.04, 2.48, -0.88,
-1.67, 1.35, 3.54, 0.36, -0.99, 1.12, -0.7, -0.67, -0.67, 0.67, -0.3, -2.88, -0.77, -1.74, 1.13, 2.46, 0.33, 0.8, 2.22, -1.34, -0.82, 0.86,
-0.17, -1.38, 2.6, 0.7, 1.85, 0.32, 0.66, -1.21, 0.2, 0.85, -1.51, 0.04, -1.04, -2.98, -1.91, 0.21, -0.43, 0.06, 0.61, -0.1, 0.65, 0.98, 1.03,
0.3, -0.91, 0.25, 0.87, 0.24, -0.76, 0.76, 0.89, 1.19, -0.92, 1.77, 1.31, -0.26, -0.99, -0.37, -0.81, -1.39, 1.22, 0.2, -0.29, quiz, -0.81,
0.57, -0.49, 2.06, 0.56, 0.72, 1.08, 0.16, -0.04, 0.77, 2.12, -0.76, -0.5, 1.21, 0.92, -0.41, 1.09, -0.99, 0.95, -1.75, 0.16, 0.46, 0.08,
1.07, 1.55, 1.88, delta, -0.95, 1.42, 2, 0.51, 0.03, 0.29, 1.16, alpha, -1.05, -0.71, -0.64, 0.16, 2.2, 0.1, 0.27, -1.1, 1.81, 2, -0.92, 1.06,
1.2, 1.24, -0.94, -0.6, 0.18, -1.54, -1.19, 0.18, 1.66, -1.26, -2.08, -1.57, root, -0.07, -0.47, -0.56, -0.68, 2.05, -0.39, -1.09, 1.28, -0.34,
-2.29, 1.26, 1.62, 1.63, -0.41, 0.08, -0.26, 1.14, 2.37, 0.3, 0.09, -0.25, 1.76, -1.54, 0.58, 0.94, four, -0.01, -0.47, 1.07, 0, 0.99, 1.14,
-0.11, -0.2, -0.18, 0.95, -1.42, -0.82, -0.23, NA, -0.47, 0.35, -1.77, 0.72, 0.09, -0.14, -0.31, -0.09, 0.54, 1.07, 0.32, 1.8, 1.34, 0.02,
-0.61, -0.24, 0.65, -1.6, -0.95, -1.32, -0.28, -0.7, -0.15, -0.31, 0.47, 0.54, 1.09, -0.48, 0.82, 0.84, -0.68, -1.22, -1.69, -1.37, 0.68,
0.54, 0.96, 0.86, 1.52, 0.51, -0.05, -0.25, 1.24, 0.87, 0.97, 1.34, -1.99, -0.41, -0.96, -2.23, -0.59, 0.61, 0.93, -0.39, 0.15, 0.66, -1.05,
3.15, -0.42, 0.45, -0.74, -0.17, -1.35, -0.46, 1.54, 0.88, -1.61, 0.27, 0.48, gamma, 0, 1.9, -1.15, 0.43, 1.18, -0.5, 1.09, 0.05, -1.51,
0.81, -1.46, 1.92, -0.36, -0.67, -0.33, 1.16, -0.37, 0.47, -1.49, -0.43, -2.25, 0.98, -0.54, three, -1.75, 1.65, -1.1, 1.81, 0.82, 0.61,
-1.88, -0.32, -1.02, -1.33, NA, -0.81, 1.71, 0.18, 0.54, 0.75, 0.47, -0.13, 0.83, -0.37, 1.05, -0.62, -0.74, 0.72, -1.34, -0.68, 0.19, 0.25,
-0.44, -0.12, -0.07, -0.5, -0.59, 1.31, 1.14, 1.07, -1.69, 1.95, -0.59, NA, 1.01, 0.26, 0.66, -0.67, -0.92, 0.03, 0.28, 0.63, 0.75, 1.94,
0.25, 0.52, 1.63, -0.05, -0.21, -1.63, 0.47, 1.27, -1.39, 2.11, 0.77, -1.13, 1.21, 0.61, 0.38, 0.33, -1.47, 0.83, 1.94, 0.82, 0.62, 0.35,
1.67, -2.83, -0.14, -0.84, 0.99, 2, 1.72, 0.26, -2.34, -0.37, -1.17, 1.57, -1.44, 0.48, -1.21, -1.34, 0.29, -0.72, 1.54, -1.69, -0.8, 1.34,
-0.86, 0.62, -0.42, 1.85, -0.44, 1.87, -1.71, 0.29, 1.23
"""

# Разбиваем строку по запятым
items = [x.strip() for x in data.replace("\n", " ").split(",") if x.strip()]

# Размер исходной выборки
n_raw = len(items)

# Оставляем только числовые значения
clean_data = []
for item in items:
    try:
        clean_data.append(float(item))
    except ValueError:
        pass

# Размер очищенной выборки
n = len(clean_data)

# Среднее
x_bar = mean(clean_data)

# Несмещенное стандартное отклонение
s = stdev(clean_data)

# Для доверительного уровня 0.93:
# alpha = 0.07, нужен квантиль t_(1 - alpha/2, n-1)
# Для n = 370, df = 369:
t_crit = 1.81718363

# Границы доверительного интервала
margin = t_crit * s / math.sqrt(n)
left = x_bar - margin
right = x_bar + margin

# Вывод
print(f"Объем исходной выборки: {n_raw}")
print(f"Объем очищенной выборки: {n}")
print(f"Среднее значение: {x_bar:.8f}")
print(f"Стандартное отклонение (несмещенное): {s:.8f}")
print(f"Значение квантили: {t_crit:.8f}")
print(f"Левая граница ДИ: {left:.8f}")
print(f"Правая граница ДИ: {right:.8f}")