Как сравнить две дисперсии разных кластеров в python? (Тест Фишера F) - PullRequest
0 голосов
/ 29 января 2020

У меня нет проблем, когда я хочу сравнить два кластера:

Здесь я создал разные группы и хочу сравнить дисперсию diff_population, которая является гауссовой для двух групп (4 и 3), с F-критерий Фишера.

from scipy import stats
stats.f(df[df.groupe==4]['diff_population'], df[df.groupe==3]['diff_population'])

Но эти два кластера имеют разную длину (19 и 25), поэтому у меня есть эта ошибка:

ValueError: operands could not be broadcast together with shapes (19,) (25,)

Должен ли я использовать другую функцию? Или мне просто добавить некоторые параметры?

Спасибо :))

Значения переменной по группам:

Группа 4: array([0.03535435081657022, -0.45640078648759375, -0.6210653413362094, -0.28867702931704875, -0.7749994986332895, -0.8529188696809972, -0.8268228030382462, -0.6986729969038473, -0.6222398413150195, -0.359581334368216, 0.2451164906980949, 0.7289120154253523, -0.8942159935862607, -0.3019899331989944, -0.28811636783525446, -0.5054246212910813, -0.27504592481776413, -0.5600868450205669, -0.5551825115515191], dtype=object)

Группа 3: array([1.277804191842118, 1.3790275735735205, 1.1532576686631388, -0.29965210169261886, 1.5865060553608497, 1.0434987778709712, -0.698250100821111, 1.1966366360921843, 1.3757855704734543, 0.945002412453744, 1.1773830738820519, 1.198976886940255, 1.3382542204701715, 2.2307261732544137, 1.124650003023789, 0.6498093450306792, 1.0959491047176269, 1.2817164588389827, 0.721451424980044, 0.925212468280113, 1.0297239620370886, 2.0272678685216743, 1.451726164239374, 1.0125733041610339, 1.4608134806840836], dtype=object)

...