Как получить нормализованный наклон тренда - PullRequest
0 голосов
/ 21 марта 2019

Я анализирую расстояния пользователей до userx за 6 недель в социальной сети.

Примечание: «Нет пути» означает, что два пользователя еще не подключены (по крайней мере, друзьями друзей).

              week1      week2    week3    week4    week5   week6
user1        No path    No path  No path   No path   3       1
user2        No path    No path  No path     5       3       1
user3         5          4         4         4       4       3
userN         ...

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

Для этого я изначально думал об использовании значения наклона регрессии для интерпретации (т. Е. Чем меньше наклон регрессии, тем лучше).

Например;рассмотрим user1 и user2, их наклон регрессии рассчитывается следующим образом.

user1:

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
X = [[5], [6]] #distance available only for week5 and week6
y = [3, 1]
regressor.fit(X, y)
print(regressor.coef_)

Выходные данные -2.

user2:

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
X = [[4], [5], [6]] #distance available only for week4, week5 and week6
y = [5, 3, 1]
regressor.fit(X, y)
print(regressor.coef_)

Вывод -2.

Как видите, оба пользователя получают одинаковое значение slope.Однако user2 было связано с userx за неделю до user1.Следовательно, user1 следует как-то присудить.

Поэтому мне интересно, есть ли лучший способ подсчета моей проблемы.

Я с удовольствием предоставлю более подробную информацию, если это необходимо.

1 Ответ

1 голос
/ 23 марта 2019

Что ж, если вы хотите получить вознаграждение за длительность соединения, вам, вероятно, нужно потратить время на расчеты.Самый простой / самый простой способ - просто умножить коэффициент на время:

outcome_measure <- regressor.coef_ * length(y)

И если вы поделите его на 2, он будет концептуально равен площади под кривой (AUC):

outcome_measure <- (regressor.coef_ * length(y))/2

Таким образом, вы получите -4 и -6 с первым методом или -2 и -3 со вторым.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...