Учитывая недавний всплеск продаж и цен на NFT, особенно на генеративные NFT, например, от Art Blocks, было бы интересно посмотреть, можно ли предсказать количество продаж и цену коллекции. В этой статье используются некоторые простые статистические модели и модели машинного обучения, чтобы предсказать, будет ли в августе перепродажа коллекции Art Blocks, отчеканенной до 1 августа 2021 года, на вторичном рынке; и сколько будет продаваться коллекция в августе. Благодарим Flipside Crypto за предоставление данных, необходимых для построения этих моделей прогнозирования.

Как правило, вы можете делать прогнозы на двух уровнях:

  1. Прогноз уровня коллекции: чтобы предсказать, какая коллекция будет продана в августе и по какой цене. то есть среди всех коллекций / проектов в Art Blocks, на основе различных характеристик каждой коллекции, таких как продолжительность монетного двора, количество отчеканенных жетонов или средняя цена продажи, у какой коллекции будут продажи в августе и по какой цене.
  2. Прогноз уровня токена: чтобы предсказать, какой конкретный токен из той же коллекции будет продаваться в августе и по какой цене он будет продан. то есть в коллекции Chromie Squiggle, в зависимости от различных характеристик и функций, какой конкретный токен будет продаваться в августе и по какой цене.

Поскольку каждая коллекция отличается и будет иметь разные функции и характеристики уровня токена, продажа токенов или прогноз цен необходимо строить для каждой отдельной коллекции. В этой статье мы сосредоточимся только на прогнозировании уровня коллекции для всех проектов Art Blocks.

Данные

Данные коллекции Art Blocks, консолидированные Flipside Crypto, трансформируются в две структуры:

  • Данные временного ряда: содержат зависящую от времени информацию о коллекции, то есть объем продаж и цену. Эта структура данных используется для регрессионных моделей.

  • Данные вне временных рядов: содержат статическую не зависящую от времени информацию о коллекции, например, имя исполнителя, соотношение сторон, статус курирования и т. Д. Эта структура данных используется для моделей машинного обучения, то есть для дерева решений, случайного леса, повышения градиента.

Поля данных непосредственно из базы данных Flipside Crypto, т.е. исполнитель, аспект_ratio, curation_status и т. Д., Вместе с полями, созданными мной, как показано ниже, используются для обучения прогнозных моделей.

COUNT_TOKEN: общее количество токенов коллекции

DAYS_SINCE_MINT: количество дней между датой монетного двора (created_at_timestamp) и 1 сентября 2021 года.

FEATURE_NUMBER: количество элементов коллекции.

TRAITS_NUMBER: количество признаков коллекции

MINT_CURRENCY: то же, что и tx_currency

MINT_DURATION: количество дней чеканки

AUGUST_SALE_COUNT: количество продаж в августе 2021 года из коллекции

AUGUST_SALE_PRICE: средняя цена продажи в августе 2021 года из коллекции

YEAR_MONTH: год и месяц block_timestamp

SALE_COUNT: количество продаж коллекции в конкретном месяце

PRICE_USD: то же, что и price_usd в таблице nft_events

PRICE_RANGE: разница между минимальной и максимальной ценой_usd коллекции в конкретном месяце

Какая коллекция будет перепродана в следующем месяце?

Следующие модели будут использовать исторические данные с ноября 2020 года до конца июля 2021 года и попытаются предсказать, какая существующая коллекция будет перепродана в августе 2021 года. Результатом прогноза является двоичный результат (0 - перепродажа запрещена, 1 для перепродажи). Здесь используются три модели - логистическая регрессия, дерево решений и случайный лес.

"Логистическая регрессия"

Логистическая регрессия правильно предсказывает 99% перепродаж, 83% случаев отсутствия перепродажи и неверно предсказывает 2 перепродажи без перепродажи и 1 перепродажу без перепродажи. Прогнозы очень хорошие! Вот три ошибочных прогноза:

Наиболее важные переменные, которые влияют на прогнозы, - это продолжительность монетного двора и количество признаков, которые есть в коллекции.

Классификатор дерева решений

Без необходимости строить очень глубокое дерево, дерево решений с глубиной дерева 4 уже правильно предсказывает 100% перепродаж и неперепродаж. Дерево выглядит довольно просто и показывает, чем меньше токенов и чем короче продолжительность чеканки коллекции, тем меньше вероятность ее перепродажи.

Классификатор случайных лесов

Случайный лес похож на Дерево решений, за исключением того, что он использует метод ансамбля для создания подвыборок для построения множества деревьев решений для лучшего обучения модели. Случайный лес также достаточно хорошо предсказывает со 100% -ной точностью, но обратная сторона заключается в том, что его нелегко интерпретировать, то есть вы не можете построить одно дерево, чтобы выяснить, каков путь дерева, потому что в дереве случайного леса есть сотни и тысячи деревьев.

Поскольку простое дерево решений уже предсказывает 100% точность, а случайный лес непросто интерпретировать, здесь оно используется только в качестве эталона. Наиболее важные функции такие же, как и в Дереве решений:

  • продолжительность монетного двора
  • количество токенов в коллекции

В заключение, дерево решений кажется лучшей моделью для использования здесь с точки зрения производительности и интерпретируемости. Вот сводка характеристик каждой модели:

Какова продажная цена коллекции в следующем месяце?

Подобные модели регрессии на основе дерева используются для прогнозирования цены коллекции в августе 2021 года. Вы можете спросить, почему не используются регрессии временных рядов. Проблема здесь в том, что модель временных рядов обычно предсказывает ценовой тренд определенного предмета (то есть цены одной акции), в данном случае коллекции. У нас есть более 100 уникальных коллекций, все с разной ценовой историей, объемами продаж, характеристиками и т. Д. Поэтому для каждой коллекции потребуется своя собственная модель, чтобы полностью учесть ценовой тренд в прогнозе (а это много моделей!).

Кроме того, для каждой коллекции временная история довольно коротка. Имея менее 1 года истории и менее 10 ежемесячных точек данных для каждой коллекции, модель временных рядов вряд ли даст надежные и надежные результаты. Использование ежедневных данных увеличило бы размер выборки, но не все коллекции продаются каждый день. Для модели временных рядов часто требуются равные временные интервалы, а это означает, что дни с отсутствующими данными о продажах должны быть аппроксимированы методами интерполяции.

Исходя из этих причин и того факта, что в данных много категориальных переменных, древовидные регрессионные модели кажутся более подходящими, чем модели временных рядов.

Регрессия дерева решений

Чтобы использовать данные временных рядов в модели, не основанной на древовидной структуре временных рядов, в качестве функций модели наряду с другими функциями используются среднемесячные цены и ежемесячные объемы продаж. Если существует k уникальных коллекций и каждая коллекция имеет m статических характеристик (например, соотношение сторон, количество характеристик и т. Д.) .) и n характеристик временных рядов (т. е. средняя цена продажи и количество в январе, феврале, марте), модель будет обучена на матрице характеристик с размером k by (m + n).

Первоначально обученная регрессия дерева решений без настройки каких-либо гиперпараметров достигает R-квадрата 100%, но глубины дерева 18. Дерево очень глубокое, и во избежание чрезмерной подгонки, различные испытания глубины дерева по сравнению с .R-квадрат. Оптимальная глубина дерева выбрана в качестве точки изгиба участка, равной 5.

Теперь дерево перестраивается с ограничением максимальной глубины дерева 5. R-квадрат немного снижается до 99,7%, но дерево намного короче.

Наиболее важными характеристиками при прогнозировании цены распродажи в августе являются:

  • Цена со скидкой в ​​июле
  • Номер июльской распродажи
  • Номер декабрьской распродажи
  • статус курирования (например, куратор, детская площадка, фабрика)

Диаграмма разброса показывает, насколько близка прогнозируемая цена к фактической. Идеальное предсказание образует диагональную линию в 45 градусов. На графике показано, что большинство точек находятся на диагональной линии, за исключением некоторых прогнозов низких цен.

Повышение градиента

Регрессор с усилением градиента похож на дерево решений, за исключением того, что он использует метод ансамбля для изучения ошибки предыдущего шага и построения следующего шага в деревьях решений, чтобы лучше обучить модель. Поскольку простое дерево решений уже имеет очень высокий R-квадрат 99,7% и его легко интерпретировать, градиентное усиление показано здесь только как альтернативный вариант для сравнительного анализа.

Регрессор с усилением градиента, как и ожидалось, улучшает производительность до 99,9% R-квадрат из-за своей жадной природы алгоритма поиска. Три наиболее важных функции:

  • Цена со скидкой в ​​июле
  • Номер июльской распродажи
  • Цена со скидкой в ​​марте

Прогнозируемая цена по сравнению с фактической на диаграмме разброса показывает почти идеальную линию, за исключением пары заниженных выбросов при взгляде на график в логарифмическом масштабе.

Сводные заметки

(1) Для прогнозирования того, будет ли коллекция перепродана в августе, все модели показывают, что наиболее важными характеристиками являются:

  • количество токенов в коллекции: чем меньше токенов, тем меньше вероятность перепродажи
  • длительность чеканки: чем короче, тем меньше вероятность перепродажи

Меньшее количество токенов и более короткая продолжительность чеканки снижают вероятность перепродажи в августе.

(2) Для прогнозирования цены перепродажи в августе все 3 модели регрессии на основе дерева имеют высокий R-квадрат более 97%. Самая важная особенность - июльская распродажа.

Дерево решений подходит для прогнозирования обоих событий - (1) и (2). Модель работает хорошо с показателем точности 100% для события (1) и 99,7% для события (2).

Ограничения и будущие улучшения

Хотя модель работает очень хорошо, это может быть связано с тем, что очень мало коллекций не были перепроданы в августе. В таком несбалансированном классе, состоящем из слишком большого количества перепродаж, модель может просто предсказать наиболее частый класс, чтобы получить высокую оценку точности. В моделях также есть некоторые другие ограничения, которые резюмируются вместе с проблемой несбалансированного класса ниже:

  • Несбалансированный класс, слишком много перепродаж, модель имеет тенденцию предсказывать наиболее частый класс для достижения высокой оценки точности.
  • Недостаточно данных в категории «без перепродажи» для проведения перекрестной проверки в K раз или разделения обучения / тестирования; поэтому модели не могут быть протестированы на данных вне выборки.
  • Недостаточная история продаж для построения модели временного ряда.
  • Обработка ежемесячных данных как функций модели потребует ежемесячной повторной калибровки.

Все вышеперечисленные ограничения можно смягчить с помощью большего количества данных с более длинной историей, что может быть достигнуто со временем.

Код Python для анализа можно найти здесь.