Skip to content

magerton/OrderedResponse.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OrderedResponse

Build Status

Coverage Status

codecov.io

Estimates ordered logit & probit models. Returns a tuple with the negative log likelihood, gradient, hessian, and the Optim.MultivariateOptimizationResults object.

Example

using OrderedResponse
using DataFrames
using Optim

# ------- make some data ----------

srand(1234)

n,k = 1000,2
X = randn(n, k)
ϵ = randn(n)

β = [0.2, -1.0]
γ = [-0.4, 0.5]

ystar = X*β + ϵ
y = map((yi) -> searchsortedfirst(γ,yi), ystar)

df = convert(DataFrame, X)
df[:y] = y

# ------- run model ----------
@show orlm(@formula(y ~ 0 + x1 + x2), df, :logit)
@show orlm(@formula(y ~ 0 + x1 + x2), df, :probit)

To extend

To extend this package to other distributions, add the functions logcdf, logcdf, cdf, pdf, and dpdf to <src/distributions.jl>. Also, make sure to add the model symbol in tests at the beginning of functions & in test file. (It would probably be best to create a global constant with allowed models...)