Nano Hash - криптовалюты, майнинг, программирование

Расчет статистических данных для наборов данных с использованием отдельных значений с несколькими величинами в Google Таблицах

В Google Таблицах я работал с наборами данных с разными ценами, чтобы сравнить их с фактическими затратами и исключить значения, выходящие за пределы нормальных диапазонов. Раньше мне помогали, но я не могу создать больше формул на основе исходных формул, с которыми мне помогли.

В моих наборах данных у меня есть очень большие расширяющиеся наборы данных, которые я ввел вручную, где несколько чисел повторяются снова. Я записал каждое значение с несколькими значениями как value (x), где X представляет количество или общее количество вхождений в наборе данных, чтобы уменьшить его; поскольку мне нужно вводить каждый вручную

Формула для расчета среднего значения приведена ниже:

=ARRAYFORMULA(SUM(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(ISNUMBER(A19:AP19), "♦"&A19:AP19&" 1", IF((A19:AP19<>"")*(NOT(ISNUMBER(A19:AP19))), "♦"&REGEXREPLACE(A19:AP19, "[()]", ), ))),,99^99)),,99^99), "♦")), " "), 
 "select Col1*Col2 label Col1*Col2 ''", 0))/SUM(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(ISNUMBER(A19:AP19), "♦"&A19:AP19&" 1", IF((A19:AP19<>"")*(NOT(ISNUMBER(A19:AP19))), "♦"&REGEXREPLACE(A19:AP19, "[()]", ), ))),,99^99)),,99^99), "♦")), " "), 
 "select Col2", 0)))

Это работает очень хорошо. У меня также есть формула, которая вычисляет минимальное и максимальное значения набора данных.

Я попытался отредактировать код, чтобы выбрать режим (который не будет читать value (x) значения) и IQR (межквартильный диапазон), но безуспешно.

Я хочу иметь возможность найти стандартное отклонение, среднее отклонение и IQR для наборов данных, используя значения, обозначенные с помощью values (x)

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


  • Проблема: формулы не работают, если диапазон превышает набор данных. Формулы показывают неправильные числа, когда данные разделяются для заполнения части пустой области. docs.google.com/spreadsheets/spreadsheets 09.03.2020
  • Я склеил каждую формулу, чтобы разделить каждый столбец перед вычислением Медианы, Отклонения. =ARRAYFORMULA(MEDIAN(TRANSPOSE(SPLIT(QUERY(REPT( INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B)... Для каждого столбца: TRANSPOSE(SPLIT(QUERY(REPT( INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B)..., TRANSPOSE(SPLIT(QUERY(REPT( INDEX(IF(C14:C="",,SPLIT(IF(ISNUMBER(C14:C) Не уверен, почему IQR не будет следовать тому же процессу, что и этот. 09.03.2020

Ответы:


1

базовая формула (которая берет ваш диапазон B14: B и расширяет все значения в формате value (x))

=ARRAYFORMULA(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦")))

0


СРЕДНИЙ (B3)

=ARRAYFORMULA(SUM(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(ISNUMBER(B14:B), "♦"&B14:B&" 1", IF((B14:B<>"")*(NOT(ISNUMBER(B14:B))), 
 "♦"&REGEXREPLACE(B14:B, "[()]", ), ))),,99^99)),,99^99), "♦")), " "), 
 "select Col1*Col2 label Col1*Col2 ''", 0))/
 SUM(QUERY(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(ISNUMBER(B14:B), "♦"&B14:B&" 1", IF((B14:B<>"")*(NOT(ISNUMBER(B14:B))), 
 "♦"&REGEXREPLACE(B14:B, "[()]", ), ))),,99^99)),,99^99), "♦")), " "), 
 "select Col2", 0)))

ДИАПАЗОН (B4)

=B7-B8

МЕДИАНА (B5)

=ARRAYFORMULA(MEDIAN(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦"))))

РЕЖИМ (B6)

=ARRAYFORMULA(MODE(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦"))))

МАКС (B7)

=ARRAYFORMULA(MAX(QUERY(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(B14:B)
,,99^99)),,99^99), " ")), "where not Col1 contains '-'", 0)))

МИН (B8)

=ARRAYFORMULA(MIN(QUERY(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(B14:B)
,,99^99)),,99^99), " ")), "where not Col1 contains '-'", 0)))

IQR - МЕЖКВАРТИЛЬНЫЙ ДИАПАЗОН (B9)

=ARRAYFORMULA(QUARTILE(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦")), 3)-
 QUARTILE(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦")), 1))

СРЕДНЕЕ ОТКЛОНЕНИЕ (B10)

=ARRAYFORMULA(AVEDEV(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦"))))

СТАНДАРТНОЕ ОТКЛОНЕНИЕ (B11)

=ARRAYFORMULA(STDEV(TRANSPOSE(SPLIT(QUERY(REPT(
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,1)&"♦", 
 INDEX(IF(B14:B="",,SPLIT(IF(ISNUMBER(B14:B), B14:B&" 1", B14:B), " ()"))*1,,2)),,999^99), "♦"))))
27.02.2020
  • Это работает хорошо, я заметил, что для некоторых данных это вызовет ошибки #value, когда количество дубликатов данных превышает определенное количество, например, 9094 вызывает ошибку и работает, если дублируется или уменьшается ниже 1000. 28.02.2020
  • Это прекрасно, большое вам спасибо за то, что изучили это. 28.02.2020
  • Я использовал формулы в данных, но обнаружил, что использую 1 набор данных с пустыми областями для будущих наборов данных. Median, Mod, IQR, Mean Dev, StrDev содержат ошибки. Я считаю, что проблема в том, что ячейка пуста или нет. Можно ли изменить этот ответ для работы с большими пустыми областями? Кроме того, числа не являются точными при распределении по листу данных вместо одного столбца. См. Связанную здесь электронную таблицу: 09.03.2020
  • Проверьте комментарии в моем вопросе. Я думаю, что он пригоден для использования ... но с IQR все еще есть проблемы 09.03.2020

  • 2

    Решение

    В Google Таблицах есть собственные формулы для этих статистических переменных. Используйте их следующим образом:

    Надеюсь, это вам помогло. Дайте мне знать, если вам еще что-нибудь понадобится или вы чего-то не поняли. :)

    27.02.2020
  • примечание: IQR =QUARTILE(B13:B14,3)-QUARTILE(B13:B14,1) 28.02.2020
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

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

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..