Friday, February 25, 2011

ещё о логистической

Logistic regression can be used to predict a dependent variable on the basis of continuous and/or categorical independents and to determine the effect size of the independent variables on the dependent; to rank the relative importance of independents; to assess interaction effects; and to understand the impact of covariate control variables. The impact of predictor variables is usually explained in terms of odds ratios.

...  logistic regression does not assume linearity of relationship between the independent variables and the dependent, does not require normally distributed variables, does not assume homoscedasticity, and in general has less stringent requirements.
from menu:
Analyze - Regression - Binary Logistic
Analyze - Regression - Multinomial Logistic

Logit regression, discussed separately, is another related option in SPSS for using loglinear methods to analyze one or more dependents.




BINARY LOGISTIC REGRESSION: DEPENDENTS OUTCOME:
Binary variable is entered as a dependent Highest is predicted, lowest is reference
  The reference level cannot be changed.
MULTINOMIAL LOGISTIC REGRESSION: DEPENDENTS  
Binary or multinomial variable entered as dependent Highest is reference, all others compared to it by default.
  Click "Reference Category" button to override the default.     
в общем по ссылке ещё много и занудно

Thursday, February 24, 2011

любопытно (перепост)

Japan's Phillips Curve Looks Like Japan
Japan's Phillips Curvejapan
Source: Smith, G. Japan’s Phillips Curve Looks Like Japan. Gregor Smith. Queen’s Economics Department Working Paper No. 1083, Queen’s University

Monday, February 21, 2011

R ссылки и статистика вообще

В другом блоге написал о колмогоровской сложности, это меня занимает в связи с тремя сёстрами.

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

И наконец ссылки, вписанные в сравнение R и МатЛаба.

Thursday, February 17, 2011

Логистическая регрессия

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


6.2. Логистическая регрессия

Предсказания событий, исследования связи событий с теми или иными факторами с нетерпением ждут от социологов. Будем считать, что событие в данных фиксируется дихотомической переменной (0 не произошло событие, 1 - произошло). Для построения модели предсказания можно было бы построить, к примеру, линейное регрессионное уравнение с зависимой дихотомической переменной Y, но оно будет не адекватно поставленной задаче, так как в классическом уравнении регрессии предполагается, что Y - непрерывная переменная. С этой целью рассматривается логистическая регрессия. Ее целью является построение модели прогноза вероятности события {Y=1} в зависимости от независимых переменных X1,:,Xp. Иначе эта связь может быть выражена в виде зависимости P{Y=1|X}=f(X)
Логистическая регрессия выражает эту связь в виде формулы
, где Z=B0+B1X1+:+BpXp (1).
Название "логистическая регрессия" происходит от названия логистического распределения, имеющего функцию распределения . Таким образом, модель, представленная этим видом регрессии, по сути, является функцией распределения этого закона, в которой в качестве аргумента используется линейная комбинация независимых переменных.

Отношение шансов и логит

Отношение вероятности того, что событие произойдет к вероятности того, что оно не произойдет P/(1-P) называется отношением шансов.
С этим отношением связано еще одно представление логистической регрессии, получаемое за счет непосредственного задания зависимой переменной в виде Z=Ln(P/(1-P)), где P=P{Y=1|X1,:,Xp}. Переменная Z называется логитом.По сути дела, логистическая регрессия определяется уравнением регрессии Z=B0+B1X1+:+BpXp.
В связи с этим отношение шансов может быть записано в следующем виде
P/(1-P)=.
Отсюда получается, что, если модель верна, при независимых X1,:,Xpизменение Xk на единицу вызывает изменение отношения шансов в раз.

Решение уравнения с использованием логита.

Механизм решения такого уравнения можно представить следующим образом
1.        Получаются агрегированные данные по переменным X, в которых для каждой группы, характеризуемой значениями Xj= подсчитывается доля объектов, соответствующих событию {Y=1}. Эта доля является оценкой вероятности . В соответствии с этим, для каждой группы получается значение логита Zj.
2.        На агрегированных данных оцениваются коэффициенты уравнения Z=B0+B1X1+:+BpXp. К сожалению, дисперсия Z здесь зависит от значений X, поэтому при использовании логита применяется специальная техника оценки коэффициентов - взвешенной регрессии.
Еще одна особенность состоит в том, что в реальных данных очень часто группы по X оказываются однородными по Y, поэтому оценки оказываются равными нулю или единице. Таким образом, оценка логита для них не определена (для этих значений ).
В некоторых статистических пакетах такие группы объектов просто-напросто отбрасываются.
В настоящее время в статистическом пакете для оценки коэффициентов используется метод максимального правдоподобия, лишенный этого недостатка. Тем не менее, проблема, хотя и не в таком остром виде остается: если оценки вероятности для многих групп оказываются равными нулю или единице, оценки коэффициентов регрессии имеют слишком большую дисперсию. Поэтому, имея в качестве независимых переменных такие признаки, как душевой доход в сочетании с возрастом, их следует укрупнить по интервалам, приписав объектам средние значения интервалов.

Неколичественные данные

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

Взаимодействие переменных

В процедуре логистической регрессии в SPSS предусмотрены средства для автоматического включения в уравнение переменных взаимодействий. В диалоговом окне в списке исходных переменных для этого следует выделить имена переменных, взаимодействия которых предполагается рассмотреть, затем переправить выделенные имена в окно независимых переменных кнопкой c текстом >a*b>.

Пример логистической регрессии и статистики

Процедура логистической регрессии в SPSS в диалоговом режиме вызывается из меню командой Statistics\Regression\Binary logistic:.
В качестве примера по данным RLMS изучим, как связано употребление спиртных напитков с зарплатой, полом, статусом (ранг руководителя), курит ли он.
Для этого подготовим данные: выберем в обследовании RLMS население старше 18 лет, сконструируем индикаторы курения (smoke) и пития (alcohol) (в обследовании задавался вопрос "Употребляли ли Вы в течении 30 дней алкогольные напитки")
COMPUTE filter_$=(vozr>18).
FILTER BY filter_$.
compute smoke=(dm71=1).
val lab smoke 1 "курит" 0 "не курит".
compute alcohol=(dm80=1).
val lab alcohol 1 "пьет" 0 "не пьет".
Укрупним переменную dj10 -(зарплата на основном рабочем месте). В данном случае группы по значениям этой переменной в основном достаточно наполнены, но мы с методической целью покажем один из способов укрупнения. Для этого вначале получаем переменную wage, которая содержит номера децилей по зарплате, затем среднюю зарплату по этим децилям (см. таблицу 6.5).
missing values dj6.0 (9997,9998,9999) dj10(99997,99998,99999).
RANK VARIABLES=dj10 (A) /NTILES (10) into wage /PRINT=YES /TIES=MEAN .
MEANS TABLES=dj10 BY wage /CELLS MEAN.
Таблица 6.5. Средняя зарплата по децилям.
WAGE децили зарплаты
1
2
3
4
5
6
7
8
9
10
DJ10 зарплата за 30 дней
101
211
307
416
542
703
853
1108
1565
3464
Полученные средние используем для формирования переменной, соответствующей укрупненной зарплате (для удобства, чтобы коэффициенты регрессии не были слишком малы, в качестве единицы ее измерения возьмем сто рублей).
recode wage (1=1.01) (2=2.11) (3=3.07) (4=4.16) (5=5.42) (6=7.03) (7=8.53) (8=11.08) (9=15.65) (10 =34.64).
recode dj6.0 (sysmis=4)(1 thru 5=1)(6 thru 10=2) (10 thru hi=3) into manag.
var lab manag "статус" wage "зaработок".
val lab manag 4 "не начальник" 1 "шеф" 2 "начальничек" 3 "начальник".
exec.
Далее формируем переменную manag - " статус" из переменной dj6.0 - количество подчиненных.
Запускаем команду построения регрессии LOGISTIC REGRESSION, в которой использованы переменные wage - зарплата, manag статус, dh5 - пол (1 мужчины, 2 женщины) smoke - курение (1 курит, 0 не курит), dh5* wage - "взаимодействие" пола с зарплатой (для женщин значение - 0, для мужчин - совпадает с зарплатой).
LOGISTIC REGRESSION VAR=alcohol /METHOD=ENTER wage manag dh5 smoke dh5*wage /CONTRAST (dh5)=Indicator /CONTRAST (manag)=Indicator /CONTRAST (smoke)=Indicator /PRINT=CI(95) /CRITERIA PIN(.05) POUT(.10) ITERATE(20) CUT(.69) .
В выдаче программа, прежде всего, сообщает о перекодировании данных:
Dependent Variable Encoding:
Original Internal
Value Value
.00 0
1.00 1
Следует обратить внимание, что зависимая переменная здесь должна быть дихотомической, и ее максимальный код считается кодом события, вероятность которого прогнозируется. Например, если Вы закодировали переменную ALCOHOL 1-употреблял, 2-не употреблял, то будет прогнозироваться вероятность не употребления алкоголя.
Далее идут сведения о кодировании индексных переменных для категориальных переменных; из-за их естественности мы их здесь не приводим.
Далее следуют обозначения для переменных взаимодействия, в нашем простом случае это:
Interactions:
INT_1 DH5(1) by WAGE

Качество подгонки логистической регрессии

Далее в выдаче появляется описательная информация о качестве подгонки модели:
-2 Log Likelihood 3289.971
Goodness of Fit 2830.214
Cox & Snell - R^2 .072
Nagelkerke - R^2 .102
которые означают:
·         -2 Log Likelihood - удвоенный логарифм функция правдоподобия со знаком минус;
·         Goodness of Fit - характеристика отличия наблюдаемых частот от ожидаемых;
·         Cox & Snell - R^2 и Nagelkerke - R^2 - псевдо коэффициенты детерминации, полученные на основе отношения функций правдоподобия моделей лишь с константой и со всеми коэффициентами.
Эти коэффициенты стоит использовать при сравнении очень похожих моделей на аналогичных данных, что практически нереально, поэтому мы не будем на них останавливаться.

Вероятность правильного предсказания


Рисунок 6.3. Классификационная таблица
На основе модели логистической регрессии можно строить предсказание произойдет или не произойдет событие {Y=1}. Правило предсказания, по умолчанию заложенное в процедуру LOGISTIC REGRESSION устроено по следующему принципу: если >0.5 считаем, что событие произойдет; ?0.5, считаем, что событие не произойдет. Это правило оптимально с точки зрения минимизации числа ошибок, но очень грубо с точки зрения исследования связи. Зачастую оказывается, что вероятность события P{Y=1} мала (значительно меньше 0.5) или велика (значительно больше 0.5), поэтому оказывается, что все имеющиеся в данных сочетания X предсказывают событие или все предсказывают противоположное событие.
Поэтому здесь необходима другая классификация, которая демонстрирует связь между зависимой и независимыми переменными. С этой целью стоит отнести к предсказываемому классу , для которых {Y=1} ожидается c большей вероятностью, чем в среднем, а остальные - к противоположному классу. В нашем случае доля употреблявших алкоголь равна 69% и мы к классу предсказанных значений отнесли значения X, для которых >0.69. Поэтому в процедуре указан параметр /CRITERIA CUT(.69). Связь между этими классификациями представлена таблица сопряженности (рмсунок 6.3). Но лучше в этой таблице вычислить процентные соотношения пользуясь EXCEL или калькулятором.
Таблица 6.6. Связь наблюдения и предсказания в логистической регрессии
Наблюдается
Предсказано

Не пьет
Пьет
Всего
Не пьет
43.8%
21.5%
31.3%
Пьет
56.2%
78.5%
68.7%

Коэффициенты регрессии


Рисунок 6.4. Коэффициенты логистической регрессии



Основная информация содержится в таблице коэффициентов регрессии (рисунок 6.4). Прежде всего, следует обратить внимание на значимость коэффициентов. Наблюдаемая значимость вычисляется на основе статистики Вальда. Эта статистика связана с методом максимального правдоподобия и может быть использована при оценках разнообразных параметров.
Универсальность статистики Вальда позволяет оценить значимость не только отдельных переменных, но и в целом значимость категориальных переменных, несмотря на то, что они дезагрегированы на индексные переменные. Статистика Вальда имеет распределение хи-квадрат. Число степеней свободы, равно единице, если проверяется гипотеза о равенстве нулю коэффициента при обычной или индексной переменной и, для категориальной переменной, равно числу значений без единицы (числу соответствующих индексных переменных). Квадратный корень из статистики Вальда приближенно равен отношению величины коэффициента к его стандартной ошибке - так же выражается t-статистика в обычной линейной модели регрессии.

Рисунок 6.5. Экспоненты коэффициентов
В нашей таблице коэффициентов почти все переменные значимы на уровне значимости 5%. Закрыв глаза на возможное взаимодействие между независимыми переменными (коллинеарность), можно считать, что вероятность употребления алкоголя повышена при высокой зарплате, а также, у руководителей различного ранга. Из-за незначимости статистики Вальда нет, правда, полной уверенности относительно повышенной вероятности для начальников, имеющих более 10 подчиненных. Курение и принадлежность к мужскому полу также повышают эту вероятность, однако, взаимодействие "мужчина-зарплата" имеет обратное действие.
В этой же таблице присутствует аналог коэффициента корреляции (R), также построенный на основе статистики Вальда. Для обычных и индексных переменных положительные значения коэффициента свидетельствуют о положительной связи переменной с вероятностью события, отрицательные - об отрицательной связи.
Кроме того, мы выдали таблицу экспонент коэффициентов eB и их доверительные границы (см. рисунок 6.5). Эта таблица выдана подкомандой /PRINT=CI(95) в команде задания логистической регрессии.
Согласно модели и полученным значениям коэффициентов, при фиксированных прочих переменных, принадлежность к мужскому полу увеличивает отношение шансов "пития" и "не пития" в 2.4 раза (точнее в 1.84-3.15 раза), курения - в 1.9 раза (1.54 - 2.35), а прибавка к зарплате 100 рублей - на 4.4% (2.8%-6%), правда такая прибавка мужчине одновременно уменьшает это отношение на 3.8% (5.7%-1.9%). Быть мелким начальником - значит увеличить отношение шансов в 1.43 (1.06 - 1.9) раза, чем в среднем, а средним начальником - в 1.7 (1.07-2.67) раза.

О статистике Вальда

Как отмечено в документации SPSS, недостаток статистики Вальда в том, что при малом числе наблюдений она может давать заниженные оценки наблюдаемой значимости коэффициентов. Для получения более точной информации о значимости переменных можно воспользоваться пошаговой регрессией, метод FORWARD LR (LR - likelihood ratio - отношение правдоподобия), тогда будет для каждой переменной выдана значимость включения/исключения, полученная на основе отношения функций правдоподобия модели. Поскольку основная выдача построена на основе статистики Вальда, первые выводы удобнее делать на ее основе, а потом уже уточнять результаты, если это необходимо.



там её называют мультиномальной -- не понятно: почему?

Wednesday, February 16, 2011

str и тип данных

Насколько я понимаю, тип данных можно посмотреть функцией str
(Это я почитываю A handbook of statistical analyses using R / Brian S. Everitt and Torsten Hothorn)

Two functions are helpful for getting an overview about R objects:
str and;
summary,
where str is more detailed about data types and summary gives a collection of sensible summary statistics.

Вопрос в том, что некоторые данные R прочитывает как факторы, то-есть, имена, хотя оне самые натуральные числа и даже действительные

выход str:

 $ CM11Y   : atomic  1976 2004 2005 2003 1993 ...
  ..- attr(*, "value.labels")= Named num  9999 9998 9997
  .. ..- attr(*, "names")= chr  "Missing" "DK" "Inconsistent"
 $ CM12    : Factor w/ 3 levels "","No","Yes": 2 3 3 2 2 2 2 2 1 1 ...
$ CM11Y -- год
$ CM12 -- тут на самом деле бинарная должна быть, а в исходнике continuous, хотя R интерпретировал верно

упг:
вот что пишет R Language Definition Version 2.12.1 (2010-12-16) DRAFT: R has six basic (‘atomic’) vector types: logical, integer, real, complex, string (or character) and raw. The modes and storage modes for the different vector types are listed in the following table.

2.1.2 Lists
Lists (“generic vectors”) are another kind of data storage. Lists have elements, each of which
can contain any type of R object, i.e. the elements of a list do not have to be of the same type. List elements are accessed through three different indexing operations. These are explained in< detail in Section 3.4 [Indexing], page 15.

Lists are vectors, and the basic vector types are referred to as atomic vectors where it is<
necessary to exclude lists.


Monday, February 14, 2011

HPC Application of R and Other Code for Biological Applications

The National Institute for Mathematical and Biological Synthesis (NIMBioS) is now accepting applications for its tutorial, "Migration from the Desktop: HPC Application of R and Other Code for Biological Applications" to be held May 9-11, 2011, at NIMBioS.

Objectives: As the number and size of available datasets continue to grow across all areas of biology, so do the computational resources required to analyze such datasets. Whether the researcher is a molecular or ecosystems biologist, questions that exceed the capabilities of desktop computers and that require the use of high performance computing (HPC) toolkits are now common. The goal of this workshop is to introduce the skills, strategies and techniques necessary to make the jump from desktop computing to HPC environments. The workshop will include lectures, case-studies, hands-on labs and small group discussions. The workshop will begin with the basics such as outlining the key differences between desktop computing and HPC, how to identify and access appropriate HPC resources, and choosing problems well-suited to the HPC environment. Visualization tools will also be introduced, as will topics in data management and best practices in development. Case studies, which are expected to include projects focused on sequence evolution, systems biology, and species distribution modeling, will provide concrete examples of how the shift from desktop to HPC computing can be achieved. We will present ways of using non-parallel code, for example R functions, in an HPC environment as a way to take advantage of the historical computational resources of the biological community. The tutorial is geared toward biologists (including students, postdocs and faculty) whose research has grown beyond what desktop computers can handle and require HPC to progress further. Participants will leave this tutorial with the skills to identify appropriate high performance computing resources for their research, perform a parameter sweep, address data storage issues, and use some common HPC tools in data analysis and visualization.

Location: NIMBioS at the University of Tennessee, Knoxville

Co-Organizers: Michael Gilchrist (Ecology and Evolutionary Biology and NIMBioS, UTK); Jian Huang (Electrical Engineering and Computer Science and RDAV, UTK); Eric Carr (HPC Specialist NIMBioS); Amy Szczepanski (Education, Outreach, and Training Coordinator, RDAV)

For more information about the tutorial and a link to the online application form, go to http://nimbios.org/tutorials/TT_hpc

If needed, applicants may request travel and lodging support. Participation is limited, and those selected to attend will be notified within two weeks of the application deadline. Application deadline: March 13, 2011

The National Institute for Mathematical and Biological Synthesis (NIMBioS) (http://www.nimbios.org) brings together researchers from around the world to collaborate across disciplinary boundaries to investigate solutions to basic and applied problems in the life sciences. NIMBioS is sponsored by the National Science Foundation, the U.S. Department of Homeland Security, and the U.S. Department of Agriculture with additional support from The University of Tennessee, Knoxville.


********************************
Catherine Crawley, Ph.D.
Communications Coordinator
National Institute for Mathematical and Biological Synthesis (NIMBioS)
University of Tennessee
1534 White Avenue
Knoxville, TN 37996-1527
Phone: (865) 974-9350
Fax: (865) 974-9461
Email: ccrawley@nimbios.org
http://www.nimbios.org
http://twitter.com/nimbios
To receive email notifications of blog updates, click here.
To sign up to receive our bi-monthly newsletter, click here.

Thursday, February 3, 2011

Решил всё-таки открыть R блог

поскольку... решил
Название придумал [info]medstatя только цыферку поменял
Обсуждение проблемы началось в спссной комуне ЖЖ
Народ интересуется, не знаю только заработает ли это как комуна ?

Некоторые уже затронутые вопросы: