Почему установка параметра масштаба на 1 не работает для заданных данных?

У меня есть данные, которые представляют собой интервальные дни, когда клиенты покупают товары в категории мебели. Я пытаюсь оценить параметры формы и масштаба с помощью функции scipy.stat.weibull_min. Это соответствует трехпараметрическому методу Вейбулла с обычной формой и масштабом и параметром сдвига (местоположения).

Во-первых, я попытался зафиксировать параметр формы равным 1 в качестве входных данных (установить f0=1), и мы получим параметр масштаба при условии shape=1. Из приведенного ниже вывода мы можем обнаружить, что это работает, поскольку расчетный параметр формы равен 1.

shape, loc, scale = scipy.stats.weibull_min.fit(data,floc=1, f0=1) 
#constrain shape to be 1  
loc:1    shape:1  scale:90.85

Однако, когда я пытаюсь ограничить параметр масштаба равным 1, чтобы получить параметр формы в условиях масштаба = 1, он не работает (параметр выходного масштаба равен ~ 75 вместо 1). Так что я в замешательстве, почему это не работает.

shape, loc, scale = scipy.stats.weibull_min.fit(data,floc=1,scale=1)
#constrain scale to be 1  
loc:1    shape:0.7318249351  scale:75.22852953

В официальном документе scipy.stats масштаб = 1 в качестве ввода кажется настройкой по умолчанию. https://docs.scipy.org/doc/scipy-0.17.0/reference/generated/scipy.stats.weibull_min.html


person yanachen    schedule 19.05.2017    source источник
comment
На это ответил пользователь 333700 в первом комментарии к вашему предыдущему вопросу: stackoverflow.com/questions/44022955/   -  person Warren Weckesser    schedule 19.05.2017
comment
Что ж. Кажется, он не объясняет, почему я должен делать «масштаб = 1» и почему выходной масштаб не равен 1.   -  person yanachen    schedule 19.05.2017
comment
Он говорит использовать fscale=1. f важен, так же как f в floc, когда вы устанавливаете местоположение равным 1.   -  person Warren Weckesser    schedule 19.05.2017
comment
Большое спасибо. Поскольку в официальном документе нет инструкции о floc и fscale, я подумал, что это просто параметр из старой версии scipy. Кроме того, когда я устанавливаю fscale=1, это плохо подходит для исходных данных. Я сравниваю три метода и обнаруживаю, что лучше всего подходит weibull_min.fit(data,floc=1,scale=1), который просто не фиксирует ни масштаб, ни форму. Возвращенные два параметра близки к результату из R.   -  person yanachen    schedule 19.05.2017
comment
docs.scipy.org/ doc/scipy-0.19.0/reference/generated/ На этой странице полностью объясняется функция подгонки.   -  person yanachen    schedule 19.05.2017