чтобы вычислить частоту
Сначала нужно определится о природе нашей проблемы. Стохастическая, детерминистическая, стохастическая + детерминистическая. Стохастическая значит - содержит вероятность (осуществляется моделирование посредством случайных величин), детерминистическая не какой вероятности нет, ну и третье проблема содержит и то и другое.
Глянем примеры.
f(x) = 2*x+3
- детерминистическая
Normal(0,1)
- стохастическая даст случайное значение из Гаусовго распределения с параметрами среднее 0 и стандартное отклонение 1.
f(x) = 2*x+3 + Normal(0,1)
- это третий кейс, когда мы накладываем шум на некую функцию.
В машинном обучении мы делаем допущении что наша проблема имеет вид
Y = F(X) + E
.
Где X - это наши данные на вход, Y - это результат и E это определенная случайная ошибка. Мы говорим существует некая функция F которая детерминистическая и она сопоставляет данные на вход и результат. Так вот задача
определить функцию и подобрать параметры которые минимизирует ошибку E.
То есть на выходе у нас не точная частота, а предсказание частоты (возможно довольно точная).
В зависимости какие методики и какими свойствами должная обладать оценочная функция это либо scikit-learn либо statsmodels либо нейронки Tensorflow + Keras.
Если идет поиск точной частоты (отсутствует вариативность в задаче) то это поиск обычных параметров функции. То есть все это должно быть представлено как система уравнений (при условии достаточности информации) и просто решено. это scipy, numpy, sympy.