Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Расчет индекса Хирша

6
21 октября 2011 года
George
4.1K / / 05.01.2007
Индекс вычисляется на основе распределения цитирований работ данного исследователя. Хирш пишет: «Учёный имеет индекс h, если h из его Np статей цитируются как минимум h раз каждая, в то время как оставшиеся (Np — h) статей цитируются не более, чем h раз каждая». Иными словами, учёный с индексом h опубликовал h статей, на каждую из которых сослались как минимум h раз. Так, если у данного исследователя опубликовано 100 статей, на каждую из которых имеется лишь одна ссылка, его h-индекс равен 1. Таким же будет h-индекс исследователя, опубликовавшего одну статью, на которую сослались 100 раз. В то же время (более реалистический случай), если у исследователя имеется 1 статья с 9 цитированиями, 2 статьи с 8 цитированиями, 3 статьи с 7 цитированиями, …, 9 статей с 1 цитированием каждой из них, то его h-индекс равен 5.
Из википедии.

То ли я туплю, то ли с алгоритмикой слабовато, но что-то не могу сообразить, как это рассчитать. Может кто подмочь?
  • Допустим 7 статей ученого имеется 15, 10 , 7, 4, 0, 0 ,0 ссылка соответсьвенно.Чему равняется индекс h этого ученого? от rafernm, 14 января 2015 года
278
21 октября 2011 года
Alexander92
1.1K / / 04.08.2008
А что должно быть на входе? Распределение публикаций как функция цитируемости?
6
21 октября 2011 года
George
4.1K / / 05.01.2007
Ну это как удобнее. Так то у меня есть таблица в БД, где есть поля entity_id - айдишник цитирующей публикации и field_refer_nid - айдишник цитируемой публикации. По этим данным нужно сделать выборку, чтобы результат был в удобном формате, а затем просчитать, собственно, h-индекс. Мы тут с LoneWolf повозились, что-то придумали, но я пока не уверен, что это верно. Вечерком поделюсь решением.
6
21 октября 2011 года
George
4.1K / / 05.01.2007
Реализация на PHP под Drupal получилась вот такой (придумал LoneWolf, его и лавры):
Код:
// Запрос с выборкой "количеств" цитирований по определенному автору
$result = db_query('
  SELECT COUNT(fdfr.field_refer_nid) quotes
  FROM {field_data_field_refer} fdfr
  INNER JOIN {field_data_field_author} fdfa ON fdfr.field_refer_nid = fdfa.entity_id
  WHERE fdfa.field_author_nid = :author_id
  GROUP BY fdfr.field_refer_nid
  ORDER BY quotes DESC'
, array(':author_id' => $row->nid))->fetchCol();

// Ну и перебор массива
$h = 0;
foreach ($result as $key=>$record) {
  if (($key + 1) > $record) {
    $h = $key;
    break;
  }
}

if ($h == 0) $h = $key+1;
return $h;

Вроде верно.
90K
13 апреля 2013 года
вепрь Ы
1 / / 13.04.2013
Простейший способ расчета индекса Хирша.
1. Располагаете свои статьи в виде списка в порядке убывания цитируемости.
2. Начинаете их пересчитывать. Порядковый номер статьи возрастает, а число цитирований убывает.
3. Как только порядковый номер статьи совпадет с числом цитирований - стоп. Это и есть ваш индекс Хирша.
252
16 января 2015 года
koderAlex
1.4K / / 07.09.2005
"Обычно распределение количества публикации N(q) в зависимости от числа их цитирований q в очень грубом приближении соответствует гиперболе: N(q) ≈ const × q−1. Координата точки пересечения этой кривой с прямой N(q) = q и будет равна индексу Хирша."
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог