<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Архивы прерывистый спрос - Open Forecasting</title>
	<atom:link href="https://openforecast.org/ru/tag/preryvistyj-spros/feed/" rel="self" type="application/rss+xml" />
	<link>https://openforecast.org/ru/tag/preryvistyj-spros/</link>
	<description>О том как смотреть в будущее</description>
	<lastBuildDate>Mon, 02 Nov 2020 16:39:04 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2015/08/cropped-usd-05-32x32.png&amp;nocache=1</url>
	<title>Архивы прерывистый спрос - Open Forecasting</title>
	<link>https://openforecast.org/ru/tag/preryvistyj-spros/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Что делать с прерывистым спросом: современный взгляд на проблему</title>
		<link>https://openforecast.org/ru/2020/10/01/chto-delat-s-preryvistym-sprosom-sovremennyj-vzglyad-na-problemu-prezentaciya-na-konferencii/</link>
					<comments>https://openforecast.org/ru/2020/10/01/chto-delat-s-preryvistym-sprosom-sovremennyj-vzglyad-na-problemu-prezentaciya-na-konferencii/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Thu, 01 Oct 2020 10:09:13 +0000</pubDate>
				<category><![CDATA[Конференции]]></category>
		<category><![CDATA[конференции]]></category>
		<category><![CDATA[презентация]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=2541</guid>

					<description><![CDATA[<p>30 сентября я выступил на онлайн конференции &#171;Прогнозирование и Планирование 2020&#187; с докладом на тему &#171;Что делать с прерывистым спросом: современный взгляд на проблему&#187;, в котором я попытался крупными мазками обрисовать ситуацию в этой области. Это был мой первый опыт участия в онлайн конференции, но получилось, вроде бы, неплохо. Организаторы записывали все выступления, и видео [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2020/10/01/chto-delat-s-preryvistym-sprosom-sovremennyj-vzglyad-na-problemu-prezentaciya-na-konferencii/">Что делать с прерывистым спросом: современный взгляд на проблему</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>30 сентября я выступил на онлайн конференции &#171;<a href="https://forecasting-conference.ru/" rel="noopener noreferrer" target="_blank">Прогнозирование и Планирование 2020</a>&#187; с докладом на тему &#171;Что делать с прерывистым спросом: современный взгляд на проблему&#187;, в котором я попытался крупными мазками обрисовать ситуацию в этой области. Это был мой первый опыт участия в онлайн конференции, но получилось, вроде бы, неплохо. Организаторы записывали все выступления, и видео будут доступны через пару месяцев, как появится, я его выложу на сайт. Пока же выкладываю аннотацию к докладу и слайды. Вот они:</p>
<p><strong>Аннотация</strong>: Прерывистый спрос &#8212; это спрос, который происходит нерегулярно. Это означает, что некоторые наблюдения в данных могут содержать нули, просто из-за того, что продукт не покупают в определённые моменты времени. Прогнозирование прерывистого спроса сопряжено с разными сложностями, и стандартные методы могут быть просто не применимы к таким данным. В этой презентации мы обсудим, какие решения существуют для этой проблемы на данный момент, каковы их преимущества и недостатки, и постараемся ответить на вопрос &#171;Что же делать с прерывистым спросом?&#187;</p>
<p><a href="https://openforecast.org/wp-content/uploads/2020/10/2020-Svetunkov-Intermittent-Demand.pdf">Слайды</a>.</p>
<p>Видео:<br />
<iframe width="560" height="315" src="https://www.youtube.com/embed/LYMySzHhtiQ" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<p>Сообщение <a href="https://openforecast.org/ru/2020/10/01/chto-delat-s-preryvistym-sprosom-sovremennyj-vzglyad-na-problemu-prezentaciya-na-konferencii/">Что делать с прерывистым спросом: современный взгляд на проблему</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2020/10/01/chto-delat-s-preryvistym-sprosom-sovremennyj-vzglyad-na-problemu-prezentaciya-na-konferencii/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>А что насчёт всех этих нулей? Измеряем точность прогнозов в случае прерывистого спроса</title>
		<link>https://openforecast.org/ru/2020/01/13/a-chto-naschjot-vseh-etih-nulej-izmeryaem-tochnost-prognozov-v-sluchae-preryvistogo-sprosa/</link>
					<comments>https://openforecast.org/ru/2020/01/13/a-chto-naschjot-vseh-etih-nulej-izmeryaem-tochnost-prognozov-v-sluchae-preryvistogo-sprosa/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Mon, 13 Jan 2020 20:06:34 +0000</pubDate>
				<category><![CDATA[Оценка точности прогнозов]]></category>
		<category><![CDATA[Теория прогнозирования]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<category><![CDATA[Прогнозные ошибки]]></category>
		<category><![CDATA[теория]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=2515</guid>

					<description><![CDATA[<p>В одной из предыдущих статей, мы обсудили, как измерить точность прогнозных методов в случае со стандартным спросом. Все эти MAE, RMSE, MASE, RMSSE, rMAE, rRMSE и прочие ошибки позволяют получить информацию о том, как методы себя проявили в среднем или в плане медианы. Мы так же обсудили, как измерять адекватность прогнозных интервалов, и должны быть [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2020/01/13/a-chto-naschjot-vseh-etih-nulej-izmeryaem-tochnost-prognozov-v-sluchae-preryvistogo-sprosa/">А что насчёт всех этих нулей? Измеряем точность прогнозов в случае прерывистого спроса</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>В <a href="/2019/08/25/kak-izmerit-tochnost-prognozov/">одной из предыдущих статей</a>, мы обсудили, как измерить точность прогнозных методов в случае со стандартным спросом. Все эти MAE, RMSE, MASE, RMSSE, rMAE, rRMSE и прочие ошибки позволяют получить информацию о том, как методы себя проявили в среднем или в плане медианы. Мы так же обсудили, как измерять <a href="/2019/10/18/o-tom-kak-ocenit-adekvatnost-prognoznyh-intervalov/">адекватность прогнозных интервалов</a>, и должны быть знакомы с такими понятиями, как размах, покрытие, MIS и pinball. Но всё это может стать абсолютно бесполезным, если мы имеем дело с прерывистым спросом, в котором может быть много нулей и мало информации. Поэтому имеет смысл обсудить тему измерения точности прогнозов в случае прерывистого спроса. Мы уже обсудили некоторые аспекты прерывистого спроса в статье про <a href="/2018/09/18/intermittent-state-space-intro/">прерывистое экспоненциальное сглаживание</a> какое-то время назад, и мы уже рассматривали некоторые примеры прерывистых временных рядов <a href="/2019/08/25/kak-izmerit-tochnost-prognozov/">в одной из предыдущих статей</a>. Здесь я постараюсь предоставить немного другой взгляд на проблему.</p>
<p>Прерывистый спрос &#8212; это спрос, который происходит не регулярно. Она означает, что в какие-то моменты времени мы будем регистрировать нули (никто не покупает продукт). Вот пример такого ряда:<br />
<div id="attachment_2279" style="width: 310px" class="wp-caption aligncenter"><a href="/wp-content/uploads/2020/01/MAE-MSE-IntermittentExample.png"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-2279" src="/wp-content/uploads/2020/01/MAE-MSE-IntermittentExample-300x175.png" alt="Пример ряда прерывистого спроса" width="300" height="175" class="size-medium wp-image-2279" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2020/01/MAE-MSE-IntermittentExample-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2020/01/MAE-MSE-IntermittentExample-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2020/01/MAE-MSE-IntermittentExample-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2020/01/MAE-MSE-IntermittentExample.png&amp;nocache=1 1200w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-2279" class="wp-caption-text">Пример ряда прерывистого спроса</p></div>
<p>Как видим, в таком ряду имеется два источника случайности: случайность в размере спроса и случайность в появлении спроса. Обратите внимание, что сам спрос не обязательно должен быть целочисленным. Речь не идёт о моделях, основанных на дискретных распределениях (таких как Пуассоновское или Отрицательное Биномиальное). Речь идёт о том, что в общем случае прерывистый спрос может быть описан формулой:<br />
\begin{equation} \label{eq:general}<br />
	y_t = o_t z_t ,<br />
\end{equation}<br />
где \(y_t\) &#8212; это фактические наблюдения в момент времени \(t\), \(o_t\) &#8212; это бинарная переменная появления спроса, а \(z_t\) &#8212; это размер спроса. В то время как некоторые статистические модели не делают такого разделения, наиболее популярные методы прогнозирования основаны либо прямо либо косвенно на этой формуле.</p>
<p>Хоть в теории мы можем построить какую-нибудь сложную модель (например, <a href="https://doi.org/10.1016/j.ijpe.2013.01.009">на основе нейронных сетей</a>), обычно мы не можем точно спрогнозировать, когда именно продукт купят и в каком количестве. У нас скорее есть возможность сказать, сколько купят в среднем (точечный прогноз) или сколько купят в 95% случаев (прогнозный интервал). Но даже если мы построим такие прогнозы, следующий вопрос будет: &#171;И что же с этим делать?&#187;</p>
<p><strong>В случае с цепями поставок</strong>, типичное решение &#8212; это <em>сколько заказать или произвести единиц продукции</em>, учитывая то количество, которое уже у нас есть, спрос на продукт, который мы наблюдаем, и скорость доставки необходимого сырья / продукции контрагентами. В этом случае речь чаще всего идёт о величине <em>страховых запасов</em> &#8212; сколько единиц продукции нам нужно иметь на складе, чтобы удовлетворить спрос до тех пор, пока не доставят новую партию, да ещё так, чтобы полки в магазине не пустовали. Обычно эта величина рассчитывается как квантиль какого-нибудь распределения. Во многих случаях, на практике для этого используется Нормальное распределение, что, конечно же, в нашем случае совершенно не верно по многим причинам (начнём хотя бы с того, что оно предполагает, что спрос может быть отрицательным). Но не будем вдаваться в детали по этому поводу, попробуем понять, что такой процесс нам даёт в плане оценки точности прогнозов.</p>
<p>Страховые запасы обычно определяются исходя из <em>времени на выполнение заказа</em> (lead time). Например, если мы знаем, что следующую партию продукции нам привезут не раньше, чем через 2 недели, то нужно иметь такое количество продукции на складе, которое смогло бы удовлетворить спрос в течение этих двух недель, и не в среднем, а, скажем, в 95% или в 99% случаев (в зависимости от того, что решит компания). Как же получить величину страхового запаса? Тут как раз на сцену выходит наша <em>прогнозная модель</em>. Но фактически все рассуждения про страховой запас говорят нам о том, что нам нужен не просто точечный прогноз на каждый день, а скорее агрегированный за тот самый период доставки (например, две недели). Это первое важное отличие прогнозирования для управления запасами от прогнозирования для других целей (например, статья <a href="https://doi.org/10.1016/j.ijpe.2019.107597" rel="noopener noreferrer" target="_blank">Kourentzes et al., 2019</a> обсуждает похожую проблему).</p>
<p>Как видим, связь между фактическим наблюдаемым спросом и финальным решением о том, сколько нужно заказать, непростая. Это так же означает, что и все те прекрасные прогнозные ошибки, которые мы обсуждали в предыдущих статьях, могут и не дать нам необходимой информации о том, как именно модели себя ведут в этой ситуации. Модель может дать очень точный прогноз, но это не обязательно означает, что он будет автоматически транслироваться в более точный заказ для конкретной ситуации. Если в таких условиях нужно оценить точность прогнозной модели, то имеет смысл работать с кумулятивными значениями (за промежуток времени на выполнение заказа), а не просто наблюдаемыми в каждый момент времени. Математически это означает работу с:<br />
\begin{equation} \label{eq:demandOverTheLeadTime}<br />
	Y_{t+h} = \sum_{j=1}^h {y}_{t+j} ,<br />
\end{equation}<br />
где \(h\) &#8212; это время на выполнение заказа. На основе этого мы можем измерить среднюю точность модели, чтобы понять, как та себя ведёт в плане рабочих запасов. В случае с аддитивной моделью это сводится к расчёту:<br />
\begin{equation}<br />
\begin{aligned}<br />
	\text{E} \left(\sum_{j=1}^h {y}_{t+j} \right) = &#038; \text{E}\left(\sum_{j=1}^h (\hat{y}_{t+j}+e_{t+j})\right) = \\<br />
	&#038; \sum_{j=1}^h \text{E}(\hat{y}_{t+j}) + \sum_{j=1}^h \text{E}(e_{t+j}) = \sum_{j=1}^h \text{E}(\hat{y}_{t+j}).<br />
\end{aligned} \label{eq:workingStock}<br />
\end{equation}<br />
где \(\hat{y}_{t+j}\) &#8212; это точечный прогноз, сгенерированный моделью. В данном случае это значит, что мы можем дать точечный прогноз на \(h\) шагов вперёд и просто агрегировать его и сравнить с фактическими значениями \eqref{eq:demandOverTheLeadTime} за тот же период. Однако, если мы имеем дело с аддитивными моделями, то мы фактически подразумеваем, что спрос может быть и отрицательным, что во многих случаях имеет очень далёкое отношение к реальности, особенно в случае с прерывистым спросом. В таком случае нужна другая модель (например, с мультипликативными ошибками), а это означает, что формула \eqref{eq:workingStock} может быть и не применима. В таком случае, мы вынуждены прибегать к симуляциям: генерировать множество возможные траектории будущих значений, суммировать каждую из них, и затем рассчитывать среднюю.</p>
<p>Предположим, что мы смогли сгенерировать кумулятивный точечный прогноз. Как теперь оценить его точность? В этом случае мы можем использовать ошибки на основе RMSE (как мы уже обсуждали в <a href="/2019/08/25/kak-izmerit-tochnost-prognozov/">одной из предыдущих статей</a>), так как они минимизируются средними значениями. Для оценки точности модели в плане рабочих запасов можно воспользоваться формулой квадратической кумулятивной ошибки (Squared Cumulative Error):<br />
\begin{equation} \label{eq:workingStockRMSCE}<br />
	\text{SCE} = \left( \sum_{j=1}^h y_{t+j} -\sum_{j=1}^h \hat{y}_{t+j} \right)^2 .<br />
\end{equation}<br />
На основе неё можно рассчитать относительные или масштабированные ошибки, если нужно оценить точность моделей по выборке временных рядов. Всё, что мы обсуждали в <a href="/2019/08/25/kak-izmerit-tochnost-prognozov/">статье про точность прогнозов</a> применимо и в этом случае, если мы используем кумулятивные значения и ошибки на основе RMSE. Одна из проблем, которая может возникнуть при расчёте относительных ошибок &#8212; это использования метода Naive в качестве бенчмарка. На практике бывают ситуации, когда проверочная часть выборки содержит нули, и Naive прогнозирует, что будут нули просто по счастливому стечению обстоятельств. В таком случае мы получим деление на нуль, что сделает такую прогнозную ошибку как rRMSE бесполезной. Простое решение данной проблемы &#8212; использование средней по всему ряду вместо Naive.</p>
<p>Помимо стандартных прогнозных ошибок, есть и ориентированные на запасы, близкие по своей идее к SCE. Одна из таких называется &#171;Периоды-в-Запасе&#187; (&#171;Periods-In-Stock&#187; &#8212; PIS, <a href="https://doi.org/10.1016/j.ijpe.2010.07.013">Walstrom, 2010</a>):<br />
\begin{equation} \label{eq:workingStockPIS}<br />
	\text{PIS} = \sum_{j=1}^h \hat{y}_{t+j} -\sum_{j=1}^h y_{t+j} .<br />
\end{equation}<br />
Вы обратили внимание на то, что в ней идёт вычитание фактических значений из прогнозных, а не наоборот, как обычно принято в литературе по прогнозированию? Это сделано не просто так. Авторы специально поменяли местами эти составляющие, для того, чтобы PIS была ближе по смыслу к конкретным решениям в управлении запасами. Так, отрицательное значение PIS будет говорить об упущенных продажах, в то время как положительное будет указывать на избыточные запасы. Что нужно иметь в виду, так это то, что по тем же причинам, по которым агрегирование MAE или RMSE для разных продуктов не имеет смысл, мы не можем агрегировать PIS для яблок и груш. <a href="https://doi.org/10.1057/jors.2014.62" rel="noopener noreferrer" target="_blank">Petropoulos &#038; Kourentzes (2015)</a> предложили несколько модификаций для PIS, которые позволяют решать эту проблему.</p>
<p>Хорошо, мы разобрались более-менее с рабочими запасами. Однако хорошая точность в плане рабочих запасов не означает хорошую точность в плане страховых запасов. Поэтому надо разобраться, как оценивать точность во втором случае. Ближайшее, что мы можем получить для оценки страховых запасов &#8212; это оценка точности конкретного квантиля агрегированного (во времени) распределения. До нижней границы интервала в управлении запасами нам обычно нет дела, нам интересна верхняя. Поэтому в реальности нам нужно провести симуляции, используя модель (что-нибудь типа 1000 итераций различных вариантов развития событий), агрегировать каждую из полученных траекторий, после чего взять конкретный квантиль, соответствующий желаемому уровню страховых запасов (например, 95%). В некоторых конкретных случаях мы можем и не прибегать к симуляциям, но в таких случаях наши предположения могут сильно отличаться от реальности (например, нормальность распределения ошибок).</p>
<p>Ну, предположим, что мы рассчитали значение для нужного квантиля. Что дальше? Я бы рекомендовал использовать пинбольную функцию, <a href="/2019/10/18/o-tom-kak-ocenit-adekvatnost-prognoznyh-intervalov/">не забывая о её преимуществах и недостатках</a>. Мы так же можем рассчитать размах, покрытие и, если нам очень нужно что-то типа MIS, мы можем обратиться к квантильной величине (&#171;Quantile Score&#187; &#8212; QS, <a href="https://doi.org/10.1198/016214506000001437" rel="noopener noreferrer" target="_blank">Gneiting, 2007</a>), потому что мы имеем дело с одной границей, а не со стандартным интервалом:<br />
\begin{equation} \label{QS}<br />
	\text{QS} = \left(Y_{t+h} &#8212; U_{t+h} \right) \left(\mathbb{1} \left\{ Y_{t+h} \leq U_{t+h} \right\} -\alpha \right) ,<br />
\end{equation}<br />
где \(\alpha\) &#8212; это доверительная вероятность (например, 95% или 99%), \(U_{t+h}\) &#8212; это значение квантиля, а \(\mathbb{1}(\cdot)\) &#8212; это индикаторная функция, которая равна единице, если значение внутри верно и ноль в противоположной ситуации. Интерпретация QS аналогична интерпретации MIS: если фактическое значение лежит ниже границы, тогда финальное значение пенализируется меньше, чем в случае, если оно лежит выше (это определяется индикаторной функцией). QS всегда будет положительной и равной нулю только в утопической ситуации, когда все значения лежат прямо на границе \(U_{t+h}\). Главное различие между pinball и QS заключается в том, что первый пытается оценить, насколько точно измерен конкретный квантиль, а вторая пытается оценить одновременно размах и покрытие интервала. С этих позиций можно заключить, что QS несколько ближе к тому, что нас интересует в реальной жизни: мы хотим выбрать такой страховой запас, чтобы покрытие было близко к номинальному уровню (чтобы мы достигли номинального сервисного уровня), но при этом с наименьшим возможным размахом (чтобы мы не несли затраты на содержание излишков продукции). На основе QS можно рассчитать всё те же относительные или масштабированные ошибки, чтобы оценить, как модели себя показали на разных продуктах.</p>
<p>Ну, хорошо, более-менее разобрались с управлением запасами. А как там насчёт <strong>других областей, в которых встречается прерывистый спрос</strong>? В некоторых из них ситуация будет похожа на описанную выше, просто термины и конкретные решения будут немного другими. Но в других случаях, нас могут интересовать более классические вопросы. Например, в случае прогнозирования числа пациентов в госпитале, нам не нужны аккумулированные значения, так что мы можем работать с тем, сколько человек придёт в каждый конкретный час в следующие 12 часов. При этом среднее число пациентов может быть не таким полезным, как число в 95% и в 5% случаев, то есть в таком случае мы обращаемся к классическому прогнозному интервалу. Эти интервалы затем могут использоваться при принятии решений о том, сколько докторов и медсестёр должно быть в госпитале в ближайшие 12 часов, какое количество медикаментов должно быть в распоряжении и т.п. Обратите внимание, что сам прогнозный интервал не связан с конкретным решением (сколько шприцов иметь), но он может считаться своеобразным приближением к нему, если мы знаем, каким должно быть типичное количество персонала для конкретного числа пациентов. Ну, и, конечно же, это означает, что нам надо оценивать точность прогнозных интервалов, а не точечных прогнозов. Применительно к прерывистому спросу мы, возможно, опять столкнёмся с ситуацией, когда нам важнее понять, насколько точна верхняя граница интервала, так как нижняя будет, скорее всего, соответствовать нулю. Соответственно использование QS в этом контексте так же может иметь больший смысл, чем MIS.</p>
<p>Закончить эту несколько сумбурную статью хочется неожиданной рекомендацией: избегайте прерывистый спрос любой ценой. Прежде чем бросаться в моделирование с головой, подумайте, какие именно решения вы принимаете на основе прогнозов. Возможно, вам не нужны прогнозы на уровне дневных данных, так как все решения принимаются на недельном уровне (каждый понедельник мы решаем, сколько продукции заказать на неделю вперёд), и, если вы перейдёте к недельным данным, то никакой прерывистости уже не будет. А, возможно, никакого прогнозирования в вашей конкретной ситуации и не надо делать, просто потому что решения принимаются совершенно иначе на основе совсем других соображений. <strong>В любом случае, прежде чем бросаться в тёмный омут, подумайте на тему того, какие именно и как именно решения принимаются в вашей компании.</strong></p>
<p>Сообщение <a href="https://openforecast.org/ru/2020/01/13/a-chto-naschjot-vseh-etih-nulej-izmeryaem-tochnost-prognozov-v-sluchae-preryvistogo-sprosa/">А что насчёт всех этих нулей? Измеряем точность прогнозов в случае прерывистого спроса</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2020/01/13/a-chto-naschjot-vseh-etih-nulej-izmeryaem-tochnost-prognozov-v-sluchae-preryvistogo-sprosa/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ISF 2019, Салоники, Греция</title>
		<link>https://openforecast.org/ru/2019/07/03/isf-2019/</link>
					<comments>https://openforecast.org/ru/2019/07/03/isf-2019/#comments</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Wed, 03 Jul 2019 09:12:25 +0000</pubDate>
				<category><![CDATA[Конференции]]></category>
		<category><![CDATA[Экстраполяционные методы]]></category>
		<category><![CDATA[ISF]]></category>
		<category><![CDATA[конференции]]></category>
		<category><![CDATA[презентация]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=1999</guid>

					<description><![CDATA[<p>В этот раз я презентовал спин-офф исследования на тему прерывистого спроса. Идея исследования в том, чтобы в случае с сезонным прерывистым спросом (часто встречающимся в розничной торговле, например, при продаже арбузов и дынь) использовать регрессии с смешанными моделями (например, логистическая + лог-нормальная регрессии). Результаты получаются интересные, но пока не окончательные, так как у меня мало [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2019/07/03/isf-2019/">ISF 2019, Салоники, Греция</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>В этот раз я презентовал спин-офф исследования на тему прерывистого спроса. Идея исследования в том, чтобы в случае с сезонным прерывистым спросом (часто встречающимся в розничной торговле, например, при продаже арбузов и дынь) использовать регрессии с смешанными моделями (например, логистическая + лог-нормальная регрессии). Результаты получаются интересные, но пока не окончательные, так как у меня мало данных, и достать их не откуда (все компании-ритейлеры, с которыми я пока работал, жадины). Так что, если у вас есть, например, что-нибудь вот такое:<br />
<div id="attachment_2004" style="width: 310px" class="wp-caption alignnone"><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2019/07/tomatoDataExport.jpg&amp;nocache=1"><img decoding="async" aria-describedby="caption-attachment-2004" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2019/07/tomatoDataExport-300x180.jpg&amp;nocache=1" alt="" width="300" height="180" class="size-medium wp-image-2004" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2019/07/tomatoDataExport-300x180.jpg&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2019/07/tomatoDataExport-768x461.jpg&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2019/07/tomatoDataExport-1024x614.jpg&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2019/07/tomatoDataExport.jpg&amp;nocache=1 2000w" sizes="(max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-2004" class="wp-caption-text">Продажи помидоров в магазине розничной торговли</p></div>
и вы хотите со мной поработать, пожалуйста, дайте знать.</p>
<p>В любом случае, <a href="/wp-content/uploads/2019/07/2019-ISF-Svetunkov-Mixture-Distribution.pdf">вот слайды моей презентации</a>.</p>
<p>Сообщение <a href="https://openforecast.org/ru/2019/07/03/isf-2019/">ISF 2019, Салоники, Греция</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2019/07/03/isf-2019/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Пакет «smooth» для R. Прерывистый спрос. Часть 1. Введение</title>
		<link>https://openforecast.org/ru/2018/09/18/intermittent-state-space-intro/</link>
					<comments>https://openforecast.org/ru/2018/09/18/intermittent-state-space-intro/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Tue, 18 Sep 2018 20:52:14 +0000</pubDate>
				<category><![CDATA[R]]></category>
		<category><![CDATA[О функции es()]]></category>
		<category><![CDATA[Пакет smooth для R]]></category>
		<category><![CDATA[Экстраполяционные методы]]></category>
		<category><![CDATA[smooth]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=1867</guid>

					<description><![CDATA[<p>ОБНОВЛЕНИЕ: Начиная с версии smooth v 2.5.0, модели и соответствующие функции были изменены. Теперь вместо intermittent и iss() в пакете существуют occurrence и oes(). Пожалуйста, используйте новые функции и новые параметры. Старый функционал будет удален в следующей версии пакета. Этот статья была обновлена 25 апреля 2019 года. Одно из преимуществ функций пакета smooth заключается во [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2018/09/18/intermittent-state-space-intro/">Пакет «smooth» для R. Прерывистый спрос. Часть 1. Введение</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><strong>ОБНОВЛЕНИЕ</strong>: Начиная с версии smooth v 2.5.0, модели и соответствующие функции были изменены. Теперь вместо <span class="lang:r decode:true crayon-inline">intermittent</span> и <span class="lang:r decode:true crayon-inline">iss()</span> в пакете существуют <span class="lang:r decode:true crayon-inline">occurrence</span> и <span class="lang:r decode:true crayon-inline">oes()</span>. Пожалуйста, используйте новые функции и новые параметры. Старый функционал будет удален в следующей версии пакета. Этот статья была обновлена 25 апреля 2019 года.</p>
<p>Одно из преимуществ функций пакета <span class="lang:r decode:true crayon-inline">smooth</span> заключается во встроенной возможности работать с прерывистыми данными и с данными с периодически возникающими нулями.</p>
<p>Прерывистый спрос &#8212; это такой спрос на продукцию, который происходит нерегулярно (<a href="/en/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series/">Svetuknov and Boylan, 2017</a>). Например, продажи зелёной губной помады имеют такой характер: её редко, кто покупает, но это всё-таки происходит время от времени. Данные по продажам такой продукции будут содержать много нулей, и предсказать, когда именно произойдёт продажа такого товара &#8212; крайне затруднительно. Может показаться, что я беру в пример какой-то экзотический товар, а значит и проблема прерывистого спроса надумана. Но вообще-то это не так. Если обратиться к тому, что происходит сейчас в сфере ритейла, то на себя обращает внимание увеличение частоты измерений данных. Раньше была возможность только сохранять количество проданных каких-нибудь хлопьев в неделю, сейчас же можно измерять продажи хоть раз в минуту (можно и чаще, но надо ли?). А как предсказать, когда купят хлопья в магазине, когда данные измеряются в такой частоте? В общем, проблема есть, и она вполне реальна.</p>
<p>Другая типичная проблема &#8212; это продукты, продающиеся сезонно. Например, продажи арбузов летом будут носить вполне себе непрерывный характер, а вот в остальное время года &#8212; не факт: в какие-то сезоны их не будет физически (естественные нули), а в другие спрос на них будет нестабилен.</p>
<p>В общем, со всеми этими интересными особенностями как раз и призваны справиться функции пакета <span class="lang:r decode:true crayon-inline">smooth</span>. Для этого в нём реализованы так называемые модели со смешанными распределениями.</p>
<p>В данной статье мы обсудим самую простую, можно сказать, базовую модель, реализованную в пакете.</p>
<p>Здесь мы будем делать акцент на прерывистый спрос, но вообще-то функции хорошо работают и в других случаях, в которых возникают нули в данных.</p>
<h3>Модель</h3>
<p>Во-первых, стоит заметить, что всё, что мы будем далее обсуждать основано на идее разделения ряда прерывистого спроса на две части (<a href="https://doi.org/10.2307/3007885" rel="noopener noreferrer" target="_blank">Croston, 1972</a>):</p>
<ol>
<li>Появление спроса, которая представлена бинарной переменной (0 &#8212; спроса нет, 1 &#8212; спрос есть);</li>
<li>Размер спроса, которая отражает, сколько единиц продукции было куплено, если спрос появился.</li>
</ol>
<p>Математически это всё представляется вот так вот:<br />
\begin{equation} \label{eq:iSS}<br />
	y_t = o_t z_t ,<br />
\end{equation}<br />
где \(o_t\) &#8212; это бинарная переменная появления, \(z_t\) &#8212; это объём спроса и \(y_t\) &#8212; это финальная величина, которую мы измеряем. Это уравнение было предложено в <a href="https://doi.org/10.2307/3007885" rel="noopener noreferrer" target="_blank">Croston, (1972)</a>, хотя Кростон ограничился лишь разработкой прогнозного метода, и не занимался стохастической моделью.</p>
<p>В литературе встречается несколько методов для прогнозирования прерывистого спроса: Кростон (<a href="https://doi.org/10.2307/3007885" rel="noopener noreferrer" target="_blank">Croston, 1972</a>), SBA (<a href="https://doi.org/10.1057/palgrave.jors.2601841" rel="noopener noreferrer" target="_blank">Syntetos &#038; Boylan, 2000</a> &#8212; SBA &#8212; Syntetos-Boylan Approximation) и TSB (<a href="https://doi.org/10.1016/j.ejor.2011.05.018" rel="noopener noreferrer" target="_blank">Teunter et al., 2011</a> &#8212; по фамилиям авторов метода). Это всё хорошие методы, которые себя хорошо зарекомендовали. Единственное ограничение &#8212; это то, что они &#171;методы&#187;, а не &#171;стохастические модели&#187;. Модель позволяет достаточно легко включать дополнительные компоненты и переменные, конструировать прогнозные интервалы и возможность осуществлять <a href="/forecasting_toolbox/model-selection/">выбор наилучшей модели</a> среди некоторого пула. Не имея модель, всё это сделать затруднительно. Мы с Джоном Бойланом (John Boylan) разработали модель, которая лежит в основе этих методов (<a href="/en/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series/">Svetunkov &#038; Boylan, 2017</a>), с помощью \eqref{eq:iSS}. Учитывая то, что все эти методы основаны на простом экспоненциальном сглаживании, мы назвали свою модель &#171;iETS&#187; &#8212; &#171;intermittent ETS&#187; &#8212; &#171;прерывистая ETS&#187;. В статье, которая сейчас находится на стадии рецензирования в International Journal for Forecasting, мы рассматривали частный случай этой модели &#8212; iETS(M,N,N), то есть модель с мультипликативной ошибкой, без тренда и сезонности, так как именно эта модель лежит в основе простого экспоненциального сглаживания. Одно из ключевых предположений в нашей модели &#8212; это независимость появления спроса от размера спроса. Это, конечно, явное упрощение, которой мы получили по наследству от метода Кростона, но даже с ним модель работает хорошо в большинстве случаев.</p>
<p>Модель iETS(M,N,N) формулируется следующим образом:<br />
\begin{equation} \label{eq:iETS}<br />
	\begin{matrix}<br />
		y_t = o_t z_t \\<br />
		z_t = l_{z,t-1} \left(1 + \epsilon_t \right) \\<br />
		l_{z,t} = l_{z,t-1}( 1  + \alpha_z \epsilon_t) \\<br />
		o_t \sim \text{Bernoulli}(p_t)<br />
	\end{matrix} ,<br />
\end{equation}<br />
где \(z_t\) &#8212; это модель ETS(M,N,N), \(l_{z,t}\) это уровень ненулевого спроса, \(\alpha_z\) &#8212; постоянная сглаживания, а \(\epsilon_t\) &#8212; ошибка модели. Важное допущение в модели &#8212; это то, что  \(\left(1 + \epsilon_t \right) \sim \text{log}\mathcal{N}(0, \sigma_\epsilon^2) \) &#8212; нечто, что мы уже <a href="/2016/11/18/smooth-package-for-r-es-function-part-iii-pure-multiplicative-models-ru/">как-то обсуждали</a>. Это допущение важно, так как ограничивает область значений только положительными значениями. Впрочем, если в вашем контексте возможны так же и отрицательные значения, то никто не мешает вместо мультипликативных моделей использовать <a href="/2016/11/02/smooth-package-for-r-es-function-part-ii-pure-additive-models-ru/">аддитивные</a>.</p>
<p>Прелесть модели \eqref{eq:iETS} заключается в том, что она может быть легко расширена (в неё можно добавить тренд, сезонность, экзогенные переменные), и то, что все её параметры могут быть оценены путём <a href="/forecasting_toolbox/estimation-simple-methods/">максимизации функции правдоподобия</a>.</p>
<p>Для моделирования части, отвечающей за появление спроса, мы предложили следующие три модели:</p>
<ol>
<li>iETS\(_F\) &#8212; модель предполагает, что вероятность появления спроса фиксирована (\(p_t = p\)).</li>
<li>iETS\(_O\) &#8212; &#171;Odds Ratio&#187;, модель отношения шансов, которая использует логистическую кривую для обновления вероятности появления значения. В этом случае модель сфокусирована именно на вероятности появления спроса.</li>
<li>iETS\(_I\) &#8212; &#171;Inverse Odds Ratio&#187;, модель обратного отношения шансов, которая использует похожие принципы, как и iETS\(_O\), однако прогнозы её сфокусированы на вероятности не появления спроса. Эта модель даёт статистическое объяснение для метода <a href="https://doi.org/10.2307/3007885" rel="noopener noreferrer" target="_blank">Croston (1972)</a>, но использует несколько другой принцип обновления вероятности: вместо того, чтобы обновлять вероятность, когда происходит продажа, она это делает на каждом наблюдении.</li>
<li>iETS\(_D\) &#8212; &#171;Direct probability&#187;, модель непосредственной вероятности, которая использует принцип, предложенный <a href="https://doi.org/10.1016/j.ejor.2011.05.018" rel="noopener noreferrer" target="_blank">Teunter et al., (2011)</a>. В этом случае вероятность обновляется на прямую с помощью простого экспоненциального сглаживания.</li>
<li>iETS\(_G\) &#8212; &#171;General&#187;, обобщённая модель, которая фактически включает в себя все предыдущие. Она состоит из двух под-моделей для вероятности, фактически учитывая как вероятности возникновения, так и вероятность не возникновения продаж.</li>
</ol>
<p>В случае (1) модель для вероятности значительно упрощается, её можно оценить с помощью функции правдоподобия и использовать для прогноза. В остальных случаях мы предлагаем использовать ещё одну модель ETS(M,N,N) для каждой из частей процессов. Так что в каждом из этих случаев прогноз представляет собой прямую линию. Финальный прогноз для всех этих моделей считается по формуле:<br />
\begin{equation} \label{eq:iSSForecast}<br />
	\hat{y}_{t+h} = \hat{p}_{t+h} \hat{z}_{t+h} ,<br />
\end{equation}<br />
где \(\hat{p}_{t+h}\) &#8212; это прогнозируемая вероятность, \(\hat{z}_t\) &#8212; это прогнозируемый объём спроса, а \(\hat{y}_t\) &#8212; это финальный прогноз для прерывистого спроса. Фактически на выходе мы получает некую оценку того, сколько будет продано в среднем за единицу времени.</p>
<p>Для того, чтобы разделить общую модель \eqref{eq:iETS} с её частью для объёмов спроса и для появления спроса, мы предлагаем использовать разные названия. Например, iETS\(_G\)(M,N,N) обозначает полную модель \eqref{eq:iETS} (\(y_t\)), oETS\(_G\)(M,N,N) обозначает модель для появления спроса (\(o_t\)), а ETS(M,N,N) используется для обозначения модели для объёмов спроса (\(z_t\)). Во всех этих трёх случаях часть &#171;(M,N,N)&#187; показывает, что мы используем модель экспоненциального сглаживания с мультипликативной ошибкой, без тренда и сезонности. Более продвинутые обозначения для модели будут обсуждены в следующих статьях на сайте. Пока же мы будем ориентироваться на простую модель экспоненциального сглаживания.</p>
<p>Обобщая преимущества нашей модели:</p>
<ol>
<li>Она расширяема. Это означает, что в неё можно добавлять любые компоненты, которые вы пожелаете. Такая возможность уже существует в пакете <span class="lang:r decode:true crayon-inline">smooth</span>. К слову, базовая модель \eqref{eq:iSS} позволяет использовать всё, что угодно для объёма спроса и множество разных моделей для появления спроса;</li>
<li>Модель позволяет выбирать между теми самыми пятью случаями (iETS\(_F\), iETS\(_O\), iETS\(_I\), iETS\(_D\) и iETS\(_G\)) с помощью информационных критериев. Этот механизм работает хорошо на больших выборках, но не всегда показывает такие же хорошие результаты на малых;</li>
<li>Модель позволяет конструировать параметрические прогнозные интервалы на несколько шагов вперёд;</li>
<li>Оценка моделей осуществляется с помощью функции правдоподобия, которая даёт <a href="/forecasting_toolbox/statistics-and-hypothesis/">эффективные и состоятельные оценки</a>;</li>
<li>Хотя модель и предполагает непрерывную случайную величину для объёма спроса, <a href="/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/">мы показали в своей статье</a>, что она часто работает лучше, чем модели целочисленных случайных величин (типа Пуассона или Биномиального распределения).</li>
</ol>
<p>Что же, посмотрим, как это работает&#8230;</p>
<h3>Появление спроса</h3>
<p>В пакете <span class="lang:r decode:true crayon-inline">smooth</span> есть функция <span class="lang:r decode:true crayon-inline">oes()</span> (Occurrence Exponential Smoothing), которая отвечает за модель появления спроса. Так же, в каждой прогнозной функции пакета есть параметр <span class="lang:r decode:true crayon-inline">occurrence</span>, который может быть: &#171;none&#187; (никакой модели), &#171;fixed&#187; (oETS\(_F\)), &#171;odds-ratio&#187; (oETS\(_O\)), &#171;inverse-odds-ratio&#187; (oETS\(_I\)), &#171;direct&#187; (oETS\(_D\)), &#171;general&#187; (oETS\(_G\)) и &#171;auto&#187; (автоматический выбор). Автоматическую опцию мы пока не рассматриваем, обсудим те самые пять моделей. Рассмотрим их на условном примере:</p>
<pre class="decode">x <- c(rpois(25,5),rpois(25,1),rpois(25,0.5),rpois(25,0.1))</pre>
<p>В этом искусственном временном ряду вероятность и размер спроса меняются ступенчато каждые 25 наблюдений. Сгенерированные данные отражают нечто под названием "вымирающий спрос" или "устаревающий спрос". Построим наши три модели:</p>
<pre class="decode">oesFixed <- oes(x, occurrence="f", h=25)</pre>
<pre>Occurrence state space model estimated: Fixed probability
Underlying ETS model: oETS[F](MNN)
Smoothing parameters:
level 
    0 
Vector of initials:
level 
 0.55 
Information criteria: 
     AIC     AICc      BIC     BICc 
139.6278 139.6686 142.2329 142.3269</pre>
<pre class="decode">oesOdds <- oes(x, occurrence="o", h=25)</pre>
<pre>Occurrence state space model estimated: Odds ratio
Underlying ETS model: oETS[O](MNN)
Smoothing parameters:
level 
0.828 
Vector of initials:
 level 
14.442 
Information criteria: 
     AIC     AICc      BIC     BICc 
116.3124 116.4361 121.5227 121.8076 </pre>
<pre class="decode">oesInverse <- oes(x, occurrence="i", h=25)</pre>
<pre>Occurrence state space model estimated: Inverse odds ratio
Underlying ETS model: oETS[I](MNN)
Smoothing parameters:
level 
0.116 
Vector of initials:
level 
0.039 
Information criteria: 
     AIC     AICc      BIC     BICc 
 98.5508  98.6745 103.7611 104.0460</pre>
<pre class="decode">oesDirect <- oes(x, occurrence="d", h=25)</pre>
<pre>Occurrence state space model estimated: Direct probability
Underlying ETS model: oETS[D](MNN)
Smoothing parameters:
level 
0.115 
Vector of initials:
level 
0.884 
Information criteria: 
     AIC     AICc      BIC     BICc 
106.5982 106.7219 111.8086 112.0934</pre>
<pre class="decode">oesGeneral <- oes(x, occurrence="g", h=25)</pre>
<pre>Occurrence state space model estimated: General
Underlying ETS model: oETS[G](MNN)(MNN)
Information criteria: 
     AIC     AICc      BIC     BICc 
102.5508 102.9718 112.9715 113.9410</pre>
<p>Анализируя результаты, можно заметить, что модель oETS\(_I\) показала себя лучше на этих данных - её информационные критерии ниже, чем у других моделей. Это всё потому что данный тип модели хорошо подходит под ряды с угасающим спросом из-за того, что модель сфокусирована на вероятности исчезновения. Обратите внимание, что постоянная сглаживания в модели oETS\(_O\) достаточно высока. Это потому что модель сфокусирована на вероятности возникновения спроса, а он у нас угасает. Если бы динамика была противоположной (частота спроса возрастала), то и ситуация была бы другой: постоянная сглаживания в oETS\(_O\) была бы ниже, чем постоянная сглаживания в oETS\(_I\). Так же можно заметить, что стартовый уровень в модели oETS\(_I\) равен 0.116, что соответствует вероятности возникновения в \(\frac{1}{1+0.116} \approx 0.89\).</p>
<p>На себя так же обращает внимание модель oETS\(_G\), которая не спешит делиться деталями о моделях внутри неё. Это потому что в ней две модели (которые называются modelA и modelB в R), каждая из которых имеет свои параметры. Вот они:</p>
<pre class="decode">oesGeneral$modelA
oesGeneral$modelB</pre>
<pre>Occurrence state space model estimated: General
Underlying ETS model: oETS(MNN)_A
Smoothing parameters:
level 
    0 
Vector of initials:
level 
   16 
Information criteria: 
     AIC     AICc      BIC     BICc 
 98.5508  98.6745 103.7611 104.0460

Occurrence state space model estimated: General
Underlying ETS model: oETS(MNN)_B
Smoothing parameters:
level 
0.116 
Vector of initials:
level 
0.628 
Information criteria: 
     AIC     AICc      BIC     BICc 
 98.5508  98.6745 103.7611 104.0460 </pre>
<p>oETS\(_G\) и обе подмодели A и B имеют одно и то же значение функции правдоподобия, так как они являются частями единого целого. Однако информационные критерии у них различаются, так как у них разное число оценённых параметров: в моделях A и B их по двое, в то время как в целой модели их, соответственно, 4. Заметьте, что оптимальная постоянная сглаживания в модели A оказалась равной нулю, что означает, что компоненты её не обновляются во времени. Мы ещё вернёмся к этому наблюдению чуть позже.</p>
<p>Мы так же можем построить линейные графики по этим моделям, чтобы увидеть, как именно они работают:</p>
<pre class="decode">plot(oesFixed)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesFixedExample.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesFixedExample-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1968" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesFixedExample-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesFixedExample-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesFixedExample-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesFixedExample.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<pre class="decode">plot(oesOdds)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesOddsExample.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesOddsExample-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1966" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesOddsExample-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesOddsExample-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesOddsExample-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesOddsExample.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<pre class="decode">plot(oesInverse)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesInverseExample.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesInverseExample-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1970" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesInverseExample-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesInverseExample-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesInverseExample-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesInverseExample.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<pre class="decode">plot(oesDirect)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesDirectExample.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesDirectExample-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1967" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesDirectExample-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesDirectExample-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesDirectExample-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesDirectExample.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<pre class="decode">plot(oesGeneral)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesGeneralExample.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesGeneralExample-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1969" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesGeneralExample-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesGeneralExample-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesGeneralExample-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/oesGeneralExample.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Обратите внимание, что разные модели улавливают динамику вероятности по-разному: в то время как iETS\(_F\) всё усредняет, остальные модели реагируют на изменения вероятности, но не одинаково.<br />
Так oETS\(_O\) более живо реагирует на динамику появления спроса, пытаясь угнаться за меняющейся вероятностью. Модель oETS\(_I\) при этом ведёт себя спокойней, воспроизводя более гладкую линию. oETS\(_D\) оказалась реактивней предыдущей модель, но не такой резкой, как модель отношения шансов. Ну, и модель oETS\(_G\) скопировала динамику модели oETS\(_I\). Это всё из-за того, что оптимальная постоянная сглаживания в модели A в oETS\(_G\) оказалась равной нулю, что привело к тому, что модель oETS\(_G\) выродилась в oETS\(_I\). Тем не менее, все эти модели спрогнозировали, что вероятность спроса будет достаточно низкой, что соответствует динамики сгенерированного ряда.</p>
<p>Что же, перейдём к полной модели...</p>
<h3>Полная модель</h3>
<p>Для того, чтобы дать финальный прогноз для прерывистого спроса, мы можем использовать любую прогнозную функцию из пакета: <span class="lang:r decode:true crayon-inline">es()</span>, <span class="lang:r decode:true crayon-inline">ssarima()</span>, <span class="lang:r decode:true crayon-inline">ces()</span>, <span class="lang:r decode:true crayon-inline">gum()</span> - во всех них есть соответствующий параметр <span class="lang:r decode:true crayon-inline">occurrence</span>, который по умолчанию равен "none". Для простоты пока будем использовать модель ETS. И для простоты мы будем использовать iETS\(_I\), так как она хорошо себя проявила на этом ряде:</p>
<pre class="decode">es(x, "MNN", occurrence="i", silent=FALSE, h=25)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMNNIMNN.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMNNIMNN-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1971" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMNNIMNN-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMNNIMNN-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMNNIMNN-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMNNIMNN.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Прогноз этой модели - прямая линия, близкая к нулю, что вызвано снижением значений как в объёме спроса, так и в вероятности появления. Однако, зная, что спрос снижается, мы можем использовать модель с трендом для объёма спроса, ETS(M,M,N):</p>
<pre class="decode">es(x, "MMN", occurrence="i", silent=FALSE, h=25)</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMMNIMNN.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMMNIMNN-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1972" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMMNIMNN-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMMNIMNN-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMMNIMNN-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSMMNIMNN.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Прогноз в этом случае оказывается ближе к нулю, а уж асимптотически он точно будет нуль... Это означает, что мы имеем дело с угосающим спросом.</p>
<p>Мы можем так же построить прогнозные интервалы и использовать модель с автоматическим выбором компонент для объёма спроса. Если мы знаем, что данные не могут быть отрицательными (например, какие-нибудь продажи помидоров), то я бы рекомендовал обратиться к чистым мультипликативным моделям:</p>
<pre class="lang:r decode:true">es(x, "YYN", occurrence="i", silent=FALSE, h=25, intervals=TRUE)</pre>
<pre>Forming the pool of models based on... MNN, MMN, Estimation progress: 100%... Done! 
Time elapsed: 1.02 seconds
Model estimated: iETS(MMN)
Occurrence model type: Inverse odds ratio
Persistence vector g:
alpha  beta 
0.268 0.000 
Initial values were optimised.
7 parameters were estimated in the process
Residuals standard deviation: 0.386
Cost function type: MSE; Cost function value: 0.149

Information criteria:
     AIC     AICc      BIC     BICc 
333.4377 334.0760 348.5648 339.9301 
95% parametric prediction intervals were constructed</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSYYNIMNN.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSYYNIMNN-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1973" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSYYNIMNN-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSYYNIMNN-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSYYNIMNN-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSYYNIMNN.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>Как видим, в данном случае наиболее подходящей оказалась модель с мультипликативным трендом. Прогнозные интервалы в этом случае сужаются, так как уровень спроса приближается к нулю. Сравните этот график с графиком чистой аддитивной модели:</p>
<pre class="decode">es(x, "XXN", occurrence="i", silent=FALSE, h=25, intervals=TRUE)</pre>
<pre>Forming the pool of models based on... ANN, AAN, Estimation progress:    ... Done! 
Time elapsed: 0.23 seconds
Model estimated: iETS(ANN)
Occurrence model type: Inverse odds ratio
Persistence vector g:
alpha 
0.251 
Initial values were optimised.
5 parameters were estimated in the process
Residuals standard deviation: 1.125
Cost function type: MSE; Cost function value: 1.265

Information criteria:
     AIC     AICc      BIC     BICc 
459.8706 460.1206 472.8964 464.2617 
95% parametric prediction intervals were constructed</pre>
<p><a href="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSXXNIMNN.png&amp;nocache=1"><img loading="lazy" decoding="async" src="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSXXNIMNN-300x175.png&amp;nocache=1" alt="" width="300" height="175" class="alignnone size-medium wp-image-1974" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSXXNIMNN-300x175.png&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSXXNIMNN-768x448.png&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSXXNIMNN-1024x597.png&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2018/09/iETSXXNIMNN.png&amp;nocache=1 1200w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a></p>
<p>В последнем случае нижняя граница интервала оказывается отрицательной, что в некоторых случаях не имеет смысла. Обратите внимание так же, что информационные критерии для чистой мультипликативной модели оказались ниже. Это из-за того, что мы имеем дело с гетероскедастичностью: дисперсия спроса меняется каждый 25 наблюдений, вместе с изменением уровня ряда.</p>
<p>Здесь нужно сделать важную ремарку. Несмотря на то, что я бы рекомендовал использовать чистые мультипликативные модели, модель ETS(M,M,N) с положительным трендом взрывоопасна. Фактически мы имеем дело с экспонентой, а значит и прогноз может быть в форме взрывного спроса. Пока что решения этой проблемы нет, так что я бы рекомендовал вручную выбирать между ETS(M,N,N) и ETS(M,Md,N) (модель с демпфированным трендом). Я не рекомендую модели с аддитивным трендом, так как в случае с низким уровнем ряда и негативным трендом может получаться всякий бред (отрицательные значения и лош-нормальное распределение - это что-то странное).</p>
<p>Как видим, теперь в нашем распоряжении оказалось на пять моделей экспоненциального сглаживания больше, что может усложнить жизнь практикующему прогнозисту. Теперь надо понять, как выбрать наиболее подходящую модель из этих пяти, как выбрать модель экспоненциального сглаживания для oETS (не останавливаться же на простом экспоненциальном сглаживании при прогнозировании вероятности возникновения) и как включать объясняющие переменные в модель. Если бы мы могли всё это сделать, то это расширило бы инструментарий для прогнозирования в разы, не так ли? Всё это, на самом деле, уже доступно в пакете <span class="lang:r decode:true crayon-inline">smooth</span>, и мы перейдём к этим деталям в следующей статье. До новых встреч!</p>
<p>Сообщение <a href="https://openforecast.org/ru/2018/09/18/intermittent-state-space-intro/">Пакет «smooth» для R. Прерывистый спрос. Часть 1. Введение</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2018/09/18/intermittent-state-space-intro/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ISF 2018, Болдер, США</title>
		<link>https://openforecast.org/ru/2018/06/19/isf-2018/</link>
					<comments>https://openforecast.org/ru/2018/06/19/isf-2018/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Tue, 19 Jun 2018 23:12:42 +0000</pubDate>
				<category><![CDATA[ETS]]></category>
		<category><![CDATA[Конференции]]></category>
		<category><![CDATA[Экстраполяционные методы]]></category>
		<category><![CDATA[ISF]]></category>
		<category><![CDATA[конференции]]></category>
		<category><![CDATA[презентация]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=1768</guid>

					<description><![CDATA[<p>В этом году я презентовал исследование, являющееся продолжением того, что я докладывал в прошлом году в Австралии. Название презентации &#8212; &#171;Forecasting intermittent data with complex patterns&#187; (Прогнозирование прерывистых данных со сложными тенденциями). В этом исследовании мы разработали модель с логистической вероятностью, которая позволяет вылавливать сложные паттерны в переменной &#171;появления спроса&#187;. Фактически с помощью нехитрых преобразований [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2018/06/19/isf-2018/">ISF 2018, Болдер, США</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>В этом году я презентовал исследование, являющееся продолжением того, что я <a href="/2017/07/30/isf-2017/">докладывал в прошлом году в Австралии</a>. Название презентации &#8212; &#171;Forecasting intermittent data with complex patterns&#187; (Прогнозирование прерывистых данных со сложными тенденциями). В этом исследовании мы разработали модель с логистической вероятностью, которая позволяет вылавливать сложные паттерны в переменной &#171;появления спроса&#187;. Фактически с помощью нехитрых преобразований мы можем использовать любую аддитивную модель для прогнозирования прерывистого спроса. Я попытался разнообразить эту презентацию, чтобы она была понятна более широкому кругу слушателей, но формулы я никуда, конечно же, не выкинул. Формулы &#8212; это наше всё!</p>
<p><a href="https://openforecast.org/wp-content/uploads/2018/06/2018-ISF-Presentation.pdf">Здесь</a> можно скачать слайды презентации. Над статьёй по этой теме мы сейчас работаем с коллегами, а предыдущую нашу статью можно найти <a href="/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/">тут</a>.</p>
<p>Сообщение <a href="https://openforecast.org/ru/2018/06/19/isf-2018/">ISF 2018, Болдер, США</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2018/06/19/isf-2018/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Multiplicative State-Space Models for Intermittent Time Series</title>
		<link>https://openforecast.org/ru/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/</link>
					<comments>https://openforecast.org/ru/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Tue, 07 Nov 2017 18:35:42 +0000</pubDate>
				<category><![CDATA[ETS]]></category>
		<category><![CDATA[Статьи]]></category>
		<category><![CDATA[Экстраполяционные методы]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<category><![CDATA[статистика]]></category>
		<category><![CDATA[статьи]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=1416</guid>

					<description><![CDATA[<p>Мы с Джоном Бойланом работали последний год над статьёй по модели пространства состояний для прерывистых данных. Эту статью мы отправили в IJF, и, пока мы ждём ответа, я решил опубликовать рабочую версию статьи. Вот аннотация статьи на английском: Intermittent demand forecasting is an important supply chain task, which is commonly done using methods based on [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/">Multiplicative State-Space Models for Intermittent Time Series</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Мы с <a href="http://www.lancaster.ac.uk/lums/people/john-boylan" rel="noopener" target="_blank">Джоном Бойланом</a> работали последний год над статьёй по модели пространства состояний для прерывистых данных. Эту статью мы отправили в IJF, и, пока мы ждём ответа, я решил опубликовать рабочую версию статьи. Вот аннотация статьи на английском:</p>
<p>Intermittent demand forecasting is an important supply chain task, which is commonly done using methods based on exponential smoothing. These methods however do not have underlying statistical models, which limits their generalisation. In this paper we propose a general state-space model that takes intermittence of data into account, extending the taxonomy of exponential smoothing models. We show that this model has a connection with conventional non-intermittent state space models and underlies Croston’s and Teunter-Syntetos-Babai (TSB) forecasting methods. We discuss properties of the proposed models and show how a selection can be made between them in the proposed framework. We then conduct experiments on simulated data and on two real life datasets, demonstrating advantages of the proposed approach.</p>
<p><a href="http://dx.doi.org/10.13140/RG.2.2.35897.06242" rel="noopener" target="_blank">Сама статья</a>.</p>
<p>К слову, все модели, обсуждаемые в статье, <a href="/tag/smooth-ru/">доступны в пакете</a> <span class="lang:r decode:true crayon-inline">smooth</span>. Через пару месяцев я планирую написать на эту тему статью для сайта. Следите за обновлениями!</p>
<p>Сообщение <a href="https://openforecast.org/ru/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/">Multiplicative State-Space Models for Intermittent Time Series</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2017/11/07/multiplicative-state-space-models-for-intermittent-time-series-2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Презентация в Университете города Bath</title>
		<link>https://openforecast.org/ru/2017/04/05/presentation-in-bath/</link>
					<comments>https://openforecast.org/ru/2017/04/05/presentation-in-bath/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Wed, 05 Apr 2017 21:20:08 +0000</pubDate>
				<category><![CDATA[Конференции]]></category>
		<category><![CDATA[Прикладное прогнозирование]]></category>
		<category><![CDATA[презентация]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<category><![CDATA[экстраполяция]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=1183</guid>

					<description><![CDATA[<p>На прошлой неделе я посетил университет города Bath, в котором по случаю визита сделал презентацию на научном семинаре, организованном Фотиосом Петропулосом, на тему &#171;Одна за всех: прогнозирование целочисленного и не целочисленного спроса с помощью одной модели&#171;. Презентация была принята хорошо, хотя и вызвала острые вопросы со стороны участников семинара. После презентации прошла сессия мозгового штурма [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2017/04/05/presentation-in-bath/">Презентация в Университете города Bath</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>На прошлой неделе я посетил университет города Bath, в котором по случаю визита сделал презентацию на научном семинаре, организованном <a href="http://t.co/IQzPjkCJ4L" target="_blank">Фотиосом Петропулосом</a>, на тему &#171;<a href="/wp-content/uploads/2017/04/2017-Bath-Presentation-1.pdf">Одна за всех: прогнозирование целочисленного и не целочисленного спроса с помощью одной модели</a>&#171;. Презентация была принята хорошо, хотя и вызвала острые вопросы со стороны участников семинара. После презентации прошла сессия мозгового штурма в группе из 12 прогнозистов из разных вузов Англии, а за ней &#8212; ужин в непалийском ресторане. В общем, большое спасибо Фотиосу за прекрасно организованный день!</p>
<p>Фотографий с места события, к сожалению нет.</p>
<p>Сообщение <a href="https://openforecast.org/ru/2017/04/05/presentation-in-bath/">Презентация в Университете города Bath</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2017/04/05/presentation-in-bath/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Презентация на 19th IIF Workshop</title>
		<link>https://openforecast.org/ru/2016/07/01/19th-iif-workshop/</link>
					<comments>https://openforecast.org/ru/2016/07/01/19th-iif-workshop/#respond</comments>
		
		<dc:creator><![CDATA[Ivan Svetunkov]]></dc:creator>
		<pubDate>Fri, 01 Jul 2016 15:17:31 +0000</pubDate>
				<category><![CDATA[Конференции]]></category>
		<category><![CDATA[ETS]]></category>
		<category><![CDATA[конференции]]></category>
		<category><![CDATA[презентация]]></category>
		<category><![CDATA[прерывистый спрос]]></category>
		<category><![CDATA[статистика]]></category>
		<category><![CDATA[теория]]></category>
		<guid isPermaLink="false">https://openforecast.org/?p=726</guid>

					<description><![CDATA[<p>Во вторник и среду (28 и 29 июня) в Ланкастере прошёл научный семинар на тему &#171;Прогнозирование в цепи поставок&#187; (Supply Chain Forecasting for Operations). В среду я презентовал исследование, которое мы сейчас проводим вместе с Джоном Бойланом (John Boylan). В нём мы предлагаем универсальную модель, позволяющую объединить стандартные методы и методы прогнозирования целочисленного спроса. Делается [&#8230;]</p>
<p>Сообщение <a href="https://openforecast.org/ru/2016/07/01/19th-iif-workshop/">Презентация на 19th IIF Workshop</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Во вторник и среду (28 и 29 июня) в Ланкастере прошёл <a href="http://www.lancaster.ac.uk/lums/scfo/" target="_blank">научный семинар на тему &#171;Прогнозирование в цепи поставок&#187;</a> (Supply Chain Forecasting for Operations). В среду я презентовал исследование, которое мы сейчас проводим вместе с Джоном Бойланом (John Boylan). В нём мы предлагаем универсальную модель, позволяющую объединить стандартные методы и методы прогнозирования целочисленного спроса. Делается это очень просто путём разделения спроса на две составляющие &#8212; бинарную переменную, характеризующую наличие или отсутствие спроса и переменную, отвечающую за величину спроса. Такой же подход используется в таких методах как Croston и TSB, но в отличии от них мы предлагаем статистическую модель, лежащую в основе этих и потенциально многих других методов. Благодаря этой модели мы знаем, как можно правильно оценивать параметры упомянутых выше методов и как строить прогнозные интервалы для них.</p>
<div id="attachment_733" style="width: 310px" class="wp-caption alignnone"><a href="/wp-content/uploads/2016/07/SCFO-047.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-733" src="/wp-content/uploads/2016/07/SCFO-047-300x200.jpg" alt="Вальяжная презентация " width="300" height="200" class="size-medium wp-image-733" srcset="https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2016/07/SCFO-047-300x200.jpg&amp;nocache=1 300w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2016/07/SCFO-047-768x513.jpg&amp;nocache=1 768w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2016/07/SCFO-047-1024x684.jpg&amp;nocache=1 1024w, https://openforecast.org/wp-content/webpc-passthru.php?src=https://openforecast.org/wp-content/uploads/2016/07/SCFO-047.jpg&amp;nocache=1 1600w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-733" class="wp-caption-text">Вальяжная презентация</p></div>
<p>Эти модели уже реализованы в функции  <span class="lang:r decode:true  crayon-inline " >es()</span>  пакета <a href="https://github.com/config-i1/smooth">smooth</a> для R. Всё, что нужно сделать &#8212; это взять ряд с нулевыми значениями (целочисленный спрос) и задать в функции значение параметра <span class="lang:r decode:true  crayon-inline " >intermittent</span>, выбрав из &#171;simple&#187;, &#171;croston&#187; или &#171;tsb&#187;.</p>
<p>Собственно говоря, <a href="/wp-content/uploads/2016/07/2016-06-29-Intermittent-demand-model-full.pdf">вот сама презентация</a>.</p>
<p>Сообщение <a href="https://openforecast.org/ru/2016/07/01/19th-iif-workshop/">Презентация на 19th IIF Workshop</a> появились сначала на <a href="https://openforecast.org/ru">Open Forecasting</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://openforecast.org/ru/2016/07/01/19th-iif-workshop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
