у меня видюха старая, опенЦЛ вроде как не поддерживает. если запихнут поддержку сразу внутрь библиотеки-что будет? ошибка на картах,подобной моей или где?
Так я о том, что б была возможность выбрать поддержку, как видюхи, так и других ядер процессора, или не использовать OpenCL вообще. Просто это реальная возможность увидеть обывателям, как применять эффективно OpenCL.
Как доберемся до тяжелых расчетов, возможно используем OpenCL. Но что-то мне подсказывает, что использование мультиядер цпу даст приемлемый результат и более гарантированный.
Сейчас пока вопросов с ускорением нет. Мы занимаемся наработкой основного функционала библиотек.
Согласно формуле из хелпа R это вычисляется по формуле f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s) (shape= a and scale= s, for x ≥ 0, a > 0 and s > 0) scale по дефолту равно 1/rate
Проблема в том что в данном случае x^(a-1) = 0^(1-1) = 0^0, что неопределено, т.е. вызывать функцию с таким параметром вообще смысла нету, и сравнивать результаты с другим софтом тоже смысла нету. Ибо 0^0 в разном софте может быть разным, в зависимости от религии разработчиков.
Это в программном смысле 0^0. В математическом смысле конкретно здесь lim(x^0), при x->0 - а это однозначно единица
Согласно формуле из хелпа R это вычисляется по формуле f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s) (shape= a and scale= s, for x ≥ 0, a > 0 and s > 0) scale по дефолту равно 1/rate
Проблема в том что в данном случае x^(a-1) = 0^(1-1) = 0^0, что неопределено, т.е. вызывать функцию с таким параметром вообще смысла нету, и сравнивать результаты с другим софтом тоже смысла нету. Ибо 0^0 в разном софте может быть разным, в зависимости от религии разработчиков.
Отлично. Получается что нельзя называть это определением, раз присутствуют неопределенности.
Можно график построить и убедиться что в точке x=0 выражение при этих параметрах стремится к 1. Это нормальное число, в других точках расходимостей нет.
Мы можем просуммировать всю плотность, в результате получится некоторое число (нормировочный коэффициент), на которое мы делим и получаем единичную вероятность, которая размазана по области определения. Кривая нормирована, площадь под кривой =1. В таком случае можно говорить о плотности вероятности.
Однако с параметрами 0.5 и 1 в точке x=0 ситуация другая. Предельное значение в данной точке равно бесконечности. При подходе к 0 она стремится к бесконечности. Можно и не интегрировать после этой точки, результат не изменится. Как нормировать на бесконечность? При такой нормировке любая кривая превращается в прямую.
Но если считать выражение работающим лишь при x>0, то выражение можно рассматривать как определение функции, т.к. никаких неопределенностей в точке x=0 нет. Все значения конечные и ничто не ломается.
Данная гипотеза объясняет результаты, которые выдают Mathematica и Matlab: в точке x=0 плотность=0.
Как доберемся до тяжелых расчетов, возможно используем OpenCL. Но что-то мне подсказывает, что использование мультиядер цпу даст приемлемый результат и более гарантированный.
Сейчас пока вопросов с ускорением нет. Мы занимаемся наработкой основного функционала библиотек.
Отлично. Получается что нельзя называть это определением, раз присутствуют неопределенности.
Можно график построить и убедиться что в точке x=0 выражение при этих параметрах стремится к 1. Это нормальное число, в других точках расходимостей нет.
Мы можем просуммировать всю плотность, в результате получится некоторое число (нормировочный коэффициент), на которое мы делим и получаем единичную вероятность, которая размазана по области определения. Кривая нормирована, площадь под кривой =1. В таком случае можно говорить о плотности вероятности.
Однако с параметрами 0.5 и 1 в точке x=0 ситуация другая. Предельное значение в данной точке равно бесконечности. При подходе к 0 она стремится к бесконечности. Можно и не интегрировать после этой точки, результат не изменится. Как нормировать на бесконечность? При такой нормировке любая кривая превращается в прямую.
Но если считать выражение работающим лишь при x>0, то выражение можно рассматривать как определение функции, т.к. никаких неопределенностей в точке x=0 нет. Все значения конечные и ничто не ломается.
Данная гипотеза объясняет результаты, которые выдают Mathematica и Matlab: в точке x=0 плотность=0.
Эта функция и есть определенная на (0,inf). или вы с этим не согласны?
Второе. В силу того что функция распределения вероятности прекрасно определяется на указанной области, есть ли смысл в присвоении плотности в точке 0 какого либо значения 0, 1, inf, и обзывание одного из таких значений ошибкой?
Нет, у меня нет претензий к значению 0. Вы лично как автор кода функций ответите программистам R за свои слова об ошибочности их функции dgamma?
Я с коллегами проверяли dgamma после прочтения статьи. Ваши откровения никак не повлияли и не могут повлиять на результаты проделанных исследований. А человек, который в этом не особо разбирается может показаться, что R делает вычисления с ошибками. Вы намерено это сделали в этих целях? Это касается только dgamma.
Дальше.
У меня есть к вам лично вопрос. Функция Дирака. Дельта Функция. В точке 0 равна бесконечности, в остальных точках равна нулю. Ее интеграл на области -inf до +inf = 1. Почему возникнет проблема с интегралом гамма функции на ее области определения если в нуле плотность равна бесконечности?
У меня есть к вам лично вопрос. Функция Дирака. Дельта Функция. В точке 0 равна бесконечности, в остальных точках равна нулю. Ее интеграл на области -inf до +inf = 1. Почему возникнет проблема с интегралом гамма функции на ее области определения если в нуле плотность равна бесконечности?
Вы хотите сказать что подобное превращение в дельта-функцию Дирака это нормально? Зачем тогда все остальное?
Расскажите что происходит с бесконечностью в процессе pgamma в точке x=0, когда был выдан "правильный" как Вы говорите ответ в dgamma(0,0.5,1)=+inf.
Покажите графически функцию и диапазоны интегрирования при расчете pgamma.
Вы хотите сказать что подобное превращение в дельта-функцию Дирака это нормально? Зачем тогда все остальное?
Расскажите что происходит с бесконечностью в процессе pgamma в точке x=0, когда был выдан "правильный" как Вы говорите ответ в dgamma(0,0.5,1)=+inf.
Я почитал документацию по Pgamma. она как я понял не связана с dgamma. ее контрибьютор другой.
Нет, я не буду рассказывать то, что я точно не знаю
... Я привел пример когда для плотности = бесконечности интеграл = 1. Так как на остальной области нули...
И еще вопрос к вам.
Я взял эксель. Там тоже есть функция гамма.расп. считает плотность, если кумулятивно = false. для x = 0 функция выдает значение #число!. Из справки: В Excel эта ошибка возникает тогда, когда формула или функция содержит недопустимое числовое значение.
В экселе тоже шибка получается? Следуя вашей логике. С ними может тоже потягаетесь в остроумии.
заодно добавьте в вашу статью упоминание о том, что стат.функция для гамма распределения в Python возвращает аналогичные R значения, и назовите фельетон так: Вокруг полно программ, которые портят вам исследования ошибками, а в МТ мы все ваши ошибки разрешили.
И кстати добавьте раздел о коннвенциях, принятых в MT5 для невычисляемых величин.
А я жду модерации моего вопроса в R Core и их ответ. Хотя я знаю какой он будет... а засим удаляюсь.
Для авторизации и пользования сайтом MQL5.com необходимо разрешить использование файлов Сookie.
Пожалуйста, включите в вашем браузере данную настройку, иначе вы не сможете авторизоваться.
Вы вошли в аккаунт. Двухфакторная аутентификация отключена. Настройте её заново и отсканируйте новый QR-код или продолжите с отключённой двухфакторной аутентификацией.
вам наверное предложат самостоятельно использовать данные функции при необходимости https://www.mql5.com/ru/docs/opencl
у меня видюха старая, опенЦЛ вроде как не поддерживает. если запихнут поддержку сразу внутрь библиотеки-что будет? ошибка на картах,подобной моей или где?
Так я о том, что б была возможность выбрать поддержку, как видюхи, так и других ядер процессора, или не использовать OpenCL вообще. Просто это реальная возможность увидеть обывателям, как применять эффективно OpenCL.
Как доберемся до тяжелых расчетов, возможно используем OpenCL. Но что-то мне подсказывает, что использование мультиядер цпу даст приемлемый результат и более гарантированный.
Сейчас пока вопросов с ускорением нет. Мы занимаемся наработкой основного функционала библиотек.
Согласно формуле из хелпа R это вычисляется по формуле
Проблема в том что в данном случае x^(a-1) = 0^(1-1) = 0^0, что неопределено, т.е. вызывать функцию с таким параметром вообще смысла нету, и сравнивать результаты с другим софтом тоже смысла нету. Ибо 0^0 в разном софте может быть разным, в зависимости от религии разработчиков.f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
(shape = a and scale = s, for x ≥ 0, a > 0 and s > 0)
scale по дефолту равно 1/rate
Dr.Trader:
Предполагаемая ошибка, в том что
dgamma(x=0, shape=1, rate=1, log=FALSE) == 1
Согласно формуле из хелпа R это вычисляется по формуле
Проблема в том что в данном случае x^(a-1) = 0^(1-1) = 0^0, что неопределено, т.е. вызывать функцию с таким параметром вообще смысла нету, и сравнивать результаты с другим софтом тоже смысла нету. Ибо 0^0 в разном софте может быть разным, в зависимости от религии разработчиков.f(x)= 1/(s^a Gamma(a)) x^(a-1) e^-(x/s)
(shape = a and scale = s, for x ≥ 0, a > 0 and s > 0)
scale по дефолту равно 1/rate
Отлично. Получается что нельзя называть это определением, раз присутствуют неопределенности.
Можно график построить и убедиться что в точке x=0 выражение при этих параметрах стремится к 1. Это нормальное число, в других точках расходимостей нет.
Мы можем просуммировать всю плотность, в результате получится некоторое число (нормировочный коэффициент), на которое мы делим и получаем единичную вероятность, которая размазана по области определения. Кривая нормирована, площадь под кривой =1. В таком случае можно говорить о плотности вероятности.
Однако с параметрами 0.5 и 1 в точке x=0 ситуация другая. Предельное значение в данной точке равно бесконечности. При подходе к 0 она стремится к бесконечности. Можно и не интегрировать после этой точки, результат не изменится. Как нормировать на бесконечность? При такой нормировке любая кривая превращается в прямую.
Но если считать выражение работающим лишь при x>0, то выражение можно рассматривать как определение функции, т.к. никаких неопределенностей в точке x=0 нет. Все значения конечные и ничто не ломается.
Данная гипотеза объясняет результаты, которые выдают Mathematica и Matlab: в точке x=0 плотность=0.
Об этом был вопрос.
Как доберемся до тяжелых расчетов, возможно используем OpenCL. Но что-то мне подсказывает, что использование мультиядер цпу даст приемлемый результат и более гарантированный.
Сейчас пока вопросов с ускорением нет. Мы занимаемся наработкой основного функционала библиотек.
Понял. Буду ждать развития событий.
Отлично. Получается что нельзя называть это определением, раз присутствуют неопределенности.
Можно график построить и убедиться что в точке x=0 выражение при этих параметрах стремится к 1. Это нормальное число, в других точках расходимостей нет.
Мы можем просуммировать всю плотность, в результате получится некоторое число (нормировочный коэффициент), на которое мы делим и получаем единичную вероятность, которая размазана по области определения. Кривая нормирована, площадь под кривой =1. В таком случае можно говорить о плотности вероятности.
Однако с параметрами 0.5 и 1 в точке x=0 ситуация другая. Предельное значение в данной точке равно бесконечности. При подходе к 0 она стремится к бесконечности. Можно и не интегрировать после этой точки, результат не изменится. Как нормировать на бесконечность? При такой нормировке любая кривая превращается в прямую.
Но если считать выражение работающим лишь при x>0, то выражение можно рассматривать как определение функции, т.к. никаких неопределенностей в точке x=0 нет. Все значения конечные и ничто не ломается.
Данная гипотеза объясняет результаты, которые выдают Mathematica и Matlab: в точке x=0 плотность=0.
Об этом был вопрос.
Вы хотите сказать что подобное превращение в дельта-функцию Дирака это нормально? Зачем тогда все остальное?
Расскажите что происходит с бесконечностью в процессе pgamma в точке x=0, когда был выдан "правильный" как Вы говорите ответ в dgamma(0,0.5,1)=+inf.
Покажите графически функцию и диапазоны интегрирования при расчете pgamma.
Интересный факт
Определения значений плотности гамма-распределения в русском переводе
Джонсон Н.Л., Коц С., Балакришнан Н. Одномерные непрерывные распределения. ч. 1 и более ранней английской версии различаются:
но у английской версии есть подозрение на опечатку из-за разных знаков.
Вы хотите сказать что подобное превращение в дельта-функцию Дирака это нормально? Зачем тогда все остальное?
Расскажите что происходит с бесконечностью в процессе pgamma в точке x=0, когда был выдан "правильный" как Вы говорите ответ в dgamma(0,0.5,1)=+inf.