Визуализируйте Свои Данные, Прежде Чем Собирать Их



Визуализируйте свои данные, прежде чем собирать их

Перевод подготовлен для студентов курса «Прикладная аналитика в R» .




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

Мы используем R для обработки, визуализации, моделирования, подготовки таблиц и графиков для обмена или публикации результатов.

Если мы посмотрим на данные таким образом, то не имеет значения, откуда они взялись.

Размер выборки, набор признаков и их масштабы фиксированы.

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

Процесс сбора данных влияет на то, как следует анализировать полученные данные.

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

представить (подражать) ваши данные до их сбора, чтобы можно было внести любые изменения в этап сбора данных, пока не стало слишком поздно.

Если данные уже собраны, инструмент позволяет визуализировать данные перед их анализом.

Когда мы принимаем решения по обработке данных и моделированию на основе результатов, которые мы получаем от каждой операции, или используем статистические модели, мы неосознанно уязвимы для таких предубеждений, как «Сад расходящихся тропинок» или п-хакерство , что может привести нас к выбору процедуры анализа, которая даст наилучший результат. Мы используем реальные данные, потому что у нас нет хорошей альтернативы: нет данных с той же структурой и характеристиками, которые мы собрали.

В этой статье представлен пакет фабрикант (из набора пакетов Объявить дизайн ), роль которого заключается в моделировании структуры и функций данных.

Посмотрите обзор Объявить дизайн в RViews , описывая его философию.

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

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

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

  
  
  
  
  
  
   

library(fabricatr) fabricate(N = 100, temp_fahrenheit = rnorm(N, mean = 80, sd = 20)) ## Warning: `is_lang()` is deprecated as of rlang 0.2.0. ## Please use `is_call()` instead. ## This warning is displayed once per session. ## Warning: `lang_name()` is deprecated as of rlang 0.2.0. ## Please use `call_name()` instead. ## This warning is displayed once per session.

ИДЕНТИФИКАТОР TEMP_FAHRENHEIT
001 56.6
002 46.3
003 90.5
004 75.1
005 85.1
006 102.8
Социологические данные часто иерархический .

Например, в школах есть классы, в классах есть ученики.

Использование команды add_level фабрикант решит и эту проблему.

По умолчанию новые уровни вложены в более высокие уровни.



library(fabricatr) fabricate( # five schools school = add_level(N = 5, n_classrooms = sample(10:15, N, replace = TRUE)), # 10 to 15 classrooms per school classroom = add_level(N = n_classrooms), # 15 students per classroom student = add_level(N = 15) ) ## Warning: `lang_modify()` is deprecated as of rlang 0.2.0. ## Please use `call_modify()` instead. ## This warning is displayed once per session.

ШКОЛА N_CLASSROOMS КЛАСС СТУДЕНТ
1 12 01 001
1 12 01 002
1 12 01 003
1 12 01 004
1 12 01 005
1 12 01 006
В реальном мире часто возникают беспорядочные, перекрывающиеся иерархии.

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

В этом случае учащиеся будут учиться в двух разных школах и эти школы не будут связаны друг с другом.

Ниже приведен пример того, как сделать такие «перекрестные» данные.

Параметр ро определяет, насколько они должны коррелировать первичный_ранг И второй_ранг .



dat <- fabricate( primary_schools = add_level(N = 5, primary_rank = 1:N), secondary_schools = add_level(N = 6, secondary_rank = 1:N, nest = FALSE), students = link_levels(N = 15, by = join(primary_rank, secondary_rank, rho = 0.9)) ) ## `link_levels()` calls are faster if the `mvnfast` package is installed. ggplot(dat, aes(primary_rank, secondary_rank)) + geom_point(position = position_jitter(width = 0.1, height = 0.1), alpha = 0.5) + theme_bw()



Визуализируйте свои данные, прежде чем собирать их

Аналогично, вы можете генерировать продольные данные с помощью cross_levels :

fabricate( students = add_level(N = 2), years = add_level(N = 20, year = 1981:2000, nest = FALSE), student_year = cross_levels(by = join(students, years)) )

СТУДЕНТЫ ГОДЫ ГОД STUDENT_YEAR
1 01 1981 01
2 01 1981 02
1 02 1982 03
2 02 1982 04
1 03 1983 05
2 03 1983 06
Представьте свои знаки В R есть множество отличных инструментов для моделирования функций.

Однако в некоторых случаях обычные типы переменных удивительно сложно моделировать.

В фабрикант Существует небольшое количество функций с простым синтаксисом для создания функций часто используемых типов.

Здесь мы опишем два примера, остальное см.

статья .



Признаки с внутриклассовой корреляцией

Используя описанные выше инструменты, можно построить данные, которые имеют вариации внутри и между блоками, например, внутриклассные вариации и вариации между классами.

Во многих случаях необходимо более точно определить уровень внутриклассовой корреляции (ICC).

Помогите здесь draw_normal_icc И draw_binary_icc .



dat <- fabricate( N = 1000, clusters = sample(LETTERS, N, replace = TRUE), Y1 = draw_normal_icc(clusters = clusters, ICC = .

2), Y2 = draw_binary_icc(clusters = clusters, ICC = .

2) ) ICC::ICCbare(clusters, Y1, dat) ## [1] 0.09726701 ICC::ICCbare(clusters, Y2, dat) ## [1] 0.176036



Упорядоченные результаты

У нас также есть инструменты для дискретных случайных величин (включая упорядоченные результаты).

Мы берем скрытую переменную (например.

test_ability ) и преобразуем его в упорядоченный признак ( test_score ).



dat <- fabricate( N = 100, test_ability = rnorm(N), test_score = draw_ordered(test_ability, breaks = c(-.

5, 0, .

5)) ) ggplot(dat, aes(test_ability, test_score)) + geom_point() + theme_bw()



Визуализируйте свои данные, прежде чем собирать их

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

Куда идти дальше В этой статье представлен общий обзор функциональности.

фабрикант .

Для более подробной информации читайте статью Начало работы с производителем .

Вы можете установить фабрикант через КРАН:

install.packages("fabricatr") library(fabricatr)




Есть вопросы? Пишите в комментариях! Теги: #аналитика #Визуализация данных #наука о данных #обработка данных #аналитика #r #моделирование данных #r lang #прикладная аналитика #язык R
Вместе с данным постом часто просматривают: