{"action":"created","comment":{"url":"https://api.github.com/repos/statsmodels/statsmodels/pulls/comments/135902708","pull_request_review_id":59364273,"id":135902708,"diff_hunk":"@@ -0,0 +1,721 @@\n+from __future__ import division\n+\n+__all__ = [\"ZeroInflatedPoisson\", \"ZeroInflatedGeneralizedPoisson\",\n+           \"ZeroInflatedNegativeBinomialP\"]\n+\n+\n+import numpy as np\n+import statsmodels.base.model as base\n+import statsmodels.base.wrapper as wrap\n+import statsmodels.regression.linear_model as lm\n+from statsmodels.discrete.discrete_model import (DiscreteModel, CountModel,\n+                                                 Poisson, Logit, CountResults,\n+                                                 L1CountResults, Probit,\n+                                                 _discrete_results_docs,\n+                                                 GeneralizedPoisson,\n+                                                 NegativeBinomialP)\n+from statsmodels.distributions import zipoisson, zigenpoisson, zinegbin\n+from statsmodels.tools.numdiff import (approx_fprime, approx_hess,\n+                                       approx_hess_cs, approx_fprime_cs)\n+from statsmodels.tools.decorators import (resettable_cache, cache_readonly)\n+\n+\n+class GenericZeroInflated(CountModel):\n+    __doc__ = \"\"\"\n+    Generiz Zero Inflated model for count data\n+\n+    %(params)s\n+    %(extra_params)s\n+\n+    Attributes\n+    -----------\n+    endog : array\n+        A reference to the endogenous response variable\n+    exog : array\n+        A reference to the exogenous design.\n+    exog_infl: array\n+        A reference to the zero-inflated exogenous design.\n+    \"\"\" % {'params' : base._model_params_doc,\n+           'extra_params' :\n+           \"\"\"offset : array_like\n+        Offset is added to the linear prediction with coefficient equal to 1.\n+    exposure : array_like\n+        Log(exposure) is added to the linear prediction with coefficient\n+        equal to 1.\n+\n+    \"\"\" + base._missing_param_doc}\n+\n+    def __init__(self, endog, exog, exog_infl=None, offset=None,\n+                 inflation='logit', exposure=None, missing='none', **kwargs):\n+        super(GenericZeroInflated, self).__init__(endog, exog, offset=offset,\n+                                                  exposure=exposure,\n+                                                  missing=missing, **kwargs)\n+\n+        if exog_infl is None:\n+            self.k_inflate = 1\n+            self.exog_infl = np.ones((endog.size, self.k_inflate))\n+        else:\n+            self.exog_infl = exog_infl\n+            self.k_inflate = exog_infl.shape[1]\n+\n+        if len(exog.shape) == 1:\n+            self.k_exog = 1\n+        else:\n+            self.k_exog = exog.shape[1]\n+\n+        self.infl = inflation\n+        if inflation == 'logit':\n+            self.model_infl = Logit(np.zeros(self.exog_infl.shape[0]),\n+                                    self.exog_infl)\n+            self._hessian_inflate = self._hessian_logit\n+        elif inflation == 'probit':\n+            self.model_infl = Probit(np.zeros(self.exog_infl.shape[0]),\n+                                    self.exog_infl)\n+            self._hessian_inflate = self._hessian_probit\n+\n+        else:\n+            raise TypeError(\"inflation == %s, which is not handled\"\n+                % inflation)\n+\n+        self.inflation = inflation\n+        self.k_extra = self.k_inflate\n+        self.exog_names.insert(0, 'inflate_const')\n+        for i in range(self.k_extra - 1, 0, -1):\n+            self.exog_names.insert(0, 'inflate_x%d' % i)\n+\n+    def loglike(self, params):\n+        \"\"\"\n+        Loglikelihood of Generic Zero Inflated model\n+\n+        Parameters\n+        ----------\n+        params : array-like\n+            The parameters of the model.\n+\n+        Returns\n+        -------\n+        loglike : float\n+            The log-likelihood function of the model evaluated at `params`.\n+            See notes.\n+\n+        Notes\n+        --------\n+        .. math:: \\\\ln L=\\\\sum_{y_{i}=0}\\\\ln(w_{i}+(1-w_{i})*P_{main\\\\_model})+\n+            \\\\sum_{y_{i}>0}(\\\\ln(1-w_{i})+L_{main\\\\_model})\n+            where P - pdf of main model, L - loglike function of main model.\n+\n+        \"\"\"\n+        return np.sum(self.loglikeobs(params))\n+\n+    def loglikeobs(self, params):\n+        \"\"\"\n+        Loglikelihood for observations of Generic Zero Inflated model\n+\n+        Parameters\n+        ----------\n+        params : array-like\n+            The parameters of the model.\n+\n+        Returns\n+        -------\n+        loglike : ndarray (nobs,)\n+            The log likelihood for each observation of the model evaluated\n+            at `params`. See Notes\n+\n+        Notes\n+        --------\n+        .. math:: \\\\ln L=\\\\ln(w_{i}+(1-w_{i})*P_{main\\\\_model})+\n+            \\\\ln(1-w_{i})+L_{main\\\\_model}\n+            where P - pdf of main model, L - loglike function of main model.\n+\n+        for observations :math:`i=1,...,n`\n+\n+        \"\"\"\n+        params_infl = params[:self.k_inflate]\n+        params_main = params[self.k_inflate:]\n+\n+        y = self.endog\n+        w = self.model_infl.predict(params_infl)\n+\n+        w = np.clip(w, np.finfo(float).eps, 1 - np.finfo(float).eps)\n+        llf_main = self.model_main.loglikeobs(params_main)\n+        zero_idx = np.nonzero(y == 0)[0]\n+        nonzero_idx = np.nonzero(y)[0]\n+\n+        llf = np.zeros_like(y, dtype=np.float64)\n+        llf[zero_idx] = (np.log(w[zero_idx] +\n+            (1 - w[zero_idx]) * np.exp(llf_main[zero_idx])))\n+        llf[nonzero_idx] = np.log(1 - w[nonzero_idx]) + llf_main[nonzero_idx]\n+\n+        return llf\n+\n+    def fit(self, start_params=None, method='bfgs', maxiter=35,\n+            full_output=1, disp=1, callback=None,\n+            cov_type='nonrobust', cov_kwds=None, use_t=None, **kwargs):\n+        if start_params is None:\n+            offset = getattr(self, \"offset\", 0) + getattr(self, \"exposure\", 0)\n+            if np.size(offset) == 1 and offset == 0:\n+                offset = None\n+            start_params = self._get_start_params()\n+        mlefit = super(GenericZeroInflated, self).fit(start_params=start_params,\n+                       maxiter=maxiter, disp=disp, method=method,\n+                       full_output=full_output, callback=lambda x:x,\n+                       **kwargs)\n+\n+        zipfit = self.result(self, mlefit._results)\n+        result = self.result_wrapper(zipfit)\n+\n+        if cov_kwds is None:\n+            cov_kwds = {}\n+\n+        result._get_robustcov_results(cov_type=cov_type,\n+                                      use_self=True, use_t=use_t, **cov_kwds)\n+        return result\n+\n+    fit.__doc__ = DiscreteModel.fit.__doc__\n+\n+    def fit_regularized(self, start_params=None, method='l1',\n+            maxiter='defined_by_method', full_output=1, disp=1, callback=None,\n+            alpha=0, trim_mode='auto', auto_trim_tol=0.01, size_trim_tol=1e-4,\n+            qc_tol=0.03, **kwargs):\n+\n+        if np.size(alpha) == 1 and alpha != 0:\n+            k_params = self.k_exog + self.k_inflate\n+            alpha = alpha * np.ones(k_params)\n+\n+        extra = self.k_extra - self.k_inflate\n+        alpha_p = alpha[:-(self.k_extra - extra)] if (self.k_extra\n+            and np.size(alpha) > 1) else alpha\n+        if start_params is None:\n+            offset = getattr(self, \"offset\", 0) + getattr(self, \"exposure\", 0)\n+            if np.size(offset) == 1 and offset == 0:\n+                offset = None\n+            start_params = self.model_main.fit_regularized(\n+                start_params=start_params, method=method, maxiter=maxiter,\n+                full_output=full_output, disp=0, callback=callback,\n+                alpha=alpha_p, trim_mode=trim_mode, auto_trim_tol=auto_trim_tol,\n+                size_trim_tol=size_trim_tol, qc_tol=qc_tol, **kwargs).params\n+            start_params = np.append(np.ones(self.k_inflate), start_params)\n+        cntfit = super(CountModel, self).fit_regularized(\n+                start_params=start_params, method=method, maxiter=maxiter,\n+                full_output=full_output, disp=disp, callback=callback,\n+                alpha=alpha, trim_mode=trim_mode, auto_trim_tol=auto_trim_tol,\n+                size_trim_tol=size_trim_tol, qc_tol=qc_tol, **kwargs)\n+\n+        if method in ['l1', 'l1_cvxopt_cp']:\n+            discretefit = self.result_reg(self, cntfit)\n+        else:\n+\n+            raise TypeError(","path":"statsmodels/discrete/count_model.py","position":209,"original_position":209,"commit_id":"bf85618dcfcd491261dbd8ea73bebe7850b2f383","original_commit_id":"bf85618dcfcd491261dbd8ea73bebe7850b2f383","user":{"login":"josef-pkt","id":440735,"avatar_url":"https://avatars1.githubusercontent.com/u/440735?v=4","gravatar_id":"","url":"https://api.github.com/users/josef-pkt","html_url":"https://github.com/josef-pkt","followers_url":"https://api.github.com/users/josef-pkt/followers","following_url":"https://api.github.com/users/josef-pkt/following{/other_user}","gists_url":"https://api.github.com/users/josef-pkt/gists{/gist_id}","starred_url":"https://api.github.com/users/josef-pkt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/josef-pkt/subscriptions","organizations_url":"https://api.github.com/users/josef-pkt/orgs","repos_url":"https://api.github.com/users/josef-pkt/repos","events_url":"https://api.github.com/users/josef-pkt/events{/privacy}","received_events_url":"https://api.github.com/users/josef-pkt/received_events","type":"User","site_admin":false},"body":"extra empty line can be deleted","created_at":"2017-08-29T20:28:26Z","updated_at":"2017-08-29T20:49:00Z","html_url":"https://github.com/statsmodels/statsmodels/pull/3755#discussion_r135902708","pull_request_url":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/statsmodels/statsmodels/pulls/comments/135902708"},"html":{"href":"https://github.com/statsmodels/statsmodels/pull/3755#discussion_r135902708"},"pull_request":{"href":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755"}}},"pull_request":{"url":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755","id":125156964,"html_url":"https://github.com/statsmodels/statsmodels/pull/3755","diff_url":"https://github.com/statsmodels/statsmodels/pull/3755.diff","patch_url":"https://github.com/statsmodels/statsmodels/pull/3755.patch","issue_url":"https://api.github.com/repos/statsmodels/statsmodels/issues/3755","number":3755,"state":"open","locked":false,"title":"GSOC2017 Zero-Inflated models","user":{"login":"evgenyzhurko","id":13086560,"avatar_url":"https://avatars3.githubusercontent.com/u/13086560?v=4","gravatar_id":"","url":"https://api.github.com/users/evgenyzhurko","html_url":"https://github.com/evgenyzhurko","followers_url":"https://api.github.com/users/evgenyzhurko/followers","following_url":"https://api.github.com/users/evgenyzhurko/following{/other_user}","gists_url":"https://api.github.com/users/evgenyzhurko/gists{/gist_id}","starred_url":"https://api.github.com/users/evgenyzhurko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evgenyzhurko/subscriptions","organizations_url":"https://api.github.com/users/evgenyzhurko/orgs","repos_url":"https://api.github.com/users/evgenyzhurko/repos","events_url":"https://api.github.com/users/evgenyzhurko/events{/privacy}","received_events_url":"https://api.github.com/users/evgenyzhurko/received_events","type":"User","site_admin":false},"body":"This model include following models:\r\n\r\n1. Generic Zero Inflated model\r\n2. Zero-Inflated Poisson model\r\n3. Zero-Inflated Generalized Poisson model (ZIGP-P)\r\n4. Zero-Inflated Generalized Negative Binomial model (ZINB-P)\r\n\r\nEach model include this parts:\r\n- [x] LLF\r\n- [x] Score\r\n- [x] Hessian\r\n- [x] Predict\r\n- [x] Fit\r\n- [x] Docs\r\n- [x] Tests\r\n\r\nStatus: - reviewing, need to implement better way to generate start_params\r\nLast commit for end of GSoC17: Changed way to find start params ","created_at":"2017-06-12T14:58:24Z","updated_at":"2017-08-29T20:49:00Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eb622151ac17cad1d4dfcf95a688c515e875d28e","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755/commits","review_comments_url":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755/comments","review_comment_url":"https://api.github.com/repos/statsmodels/statsmodels/pulls/comments{/number}","comments_url":"https://api.github.com/repos/statsmodels/statsmodels/issues/3755/comments","statuses_url":"https://api.github.com/repos/statsmodels/statsmodels/statuses/bf85618dcfcd491261dbd8ea73bebe7850b2f383","head":{"label":"evgenyzhurko:zi_mle","ref":"zi_mle","sha":"bf85618dcfcd491261dbd8ea73bebe7850b2f383","user":{"login":"evgenyzhurko","id":13086560,"avatar_url":"https://avatars3.githubusercontent.com/u/13086560?v=4","gravatar_id":"","url":"https://api.github.com/users/evgenyzhurko","html_url":"https://github.com/evgenyzhurko","followers_url":"https://api.github.com/users/evgenyzhurko/followers","following_url":"https://api.github.com/users/evgenyzhurko/following{/other_user}","gists_url":"https://api.github.com/users/evgenyzhurko/gists{/gist_id}","starred_url":"https://api.github.com/users/evgenyzhurko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evgenyzhurko/subscriptions","organizations_url":"https://api.github.com/users/evgenyzhurko/orgs","repos_url":"https://api.github.com/users/evgenyzhurko/repos","events_url":"https://api.github.com/users/evgenyzhurko/events{/privacy}","received_events_url":"https://api.github.com/users/evgenyzhurko/received_events","type":"User","site_admin":false},"repo":{"id":86930931,"name":"statsmodels","full_name":"evgenyzhurko/statsmodels","owner":{"login":"evgenyzhurko","id":13086560,"avatar_url":"https://avatars3.githubusercontent.com/u/13086560?v=4","gravatar_id":"","url":"https://api.github.com/users/evgenyzhurko","html_url":"https://github.com/evgenyzhurko","followers_url":"https://api.github.com/users/evgenyzhurko/followers","following_url":"https://api.github.com/users/evgenyzhurko/following{/other_user}","gists_url":"https://api.github.com/users/evgenyzhurko/gists{/gist_id}","starred_url":"https://api.github.com/users/evgenyzhurko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/evgenyzhurko/subscriptions","organizations_url":"https://api.github.com/users/evgenyzhurko/orgs","repos_url":"https://api.github.com/users/evgenyzhurko/repos","events_url":"https://api.github.com/users/evgenyzhurko/events{/privacy}","received_events_url":"https://api.github.com/users/evgenyzhurko/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/evgenyzhurko/statsmodels","description":"Statsmodels: statistical modeling and econometrics in Python","fork":true,"url":"https://api.github.com/repos/evgenyzhurko/statsmodels","forks_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/forks","keys_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/keys{/key_id}","collaborators_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/teams","hooks_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/hooks","issue_events_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/issues/events{/number}","events_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/events","assignees_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/assignees{/user}","branches_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/branches{/branch}","tags_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/tags","blobs_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/git/refs{/sha}","trees_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/git/trees{/sha}","statuses_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/statuses/{sha}","languages_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/languages","stargazers_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/stargazers","contributors_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/contributors","subscribers_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/subscribers","subscription_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/subscription","commits_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/commits{/sha}","git_commits_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/git/commits{/sha}","comments_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/comments{/number}","issue_comment_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/issues/comments{/number}","contents_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/contents/{+path}","compare_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/compare/{base}...{head}","merges_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/merges","archive_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/downloads","issues_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/issues{/number}","pulls_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/pulls{/number}","milestones_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/milestones{/number}","notifications_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/labels{/name}","releases_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/releases{/id}","deployments_url":"https://api.github.com/repos/evgenyzhurko/statsmodels/deployments","created_at":"2017-04-01T17:40:16Z","updated_at":"2017-04-01T17:40:21Z","pushed_at":"2017-08-29T17:34:42Z","git_url":"git://github.com/evgenyzhurko/statsmodels.git","ssh_url":"git@github.com:evgenyzhurko/statsmodels.git","clone_url":"https://github.com/evgenyzhurko/statsmodels.git","svn_url":"https://github.com/evgenyzhurko/statsmodels","homepage":"http://www.statsmodels.org/devel/","size":26994,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"statsmodels:master","ref":"master","sha":"d0af408e00032e5ca5d325629409fb8be80f8eca","user":{"login":"statsmodels","id":717666,"avatar_url":"https://avatars3.githubusercontent.com/u/717666?v=4","gravatar_id":"","url":"https://api.github.com/users/statsmodels","html_url":"https://github.com/statsmodels","followers_url":"https://api.github.com/users/statsmodels/followers","following_url":"https://api.github.com/users/statsmodels/following{/other_user}","gists_url":"https://api.github.com/users/statsmodels/gists{/gist_id}","starred_url":"https://api.github.com/users/statsmodels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/statsmodels/subscriptions","organizations_url":"https://api.github.com/users/statsmodels/orgs","repos_url":"https://api.github.com/users/statsmodels/repos","events_url":"https://api.github.com/users/statsmodels/events{/privacy}","received_events_url":"https://api.github.com/users/statsmodels/received_events","type":"Organization","site_admin":false},"repo":{"id":1885237,"name":"statsmodels","full_name":"statsmodels/statsmodels","owner":{"login":"statsmodels","id":717666,"avatar_url":"https://avatars3.githubusercontent.com/u/717666?v=4","gravatar_id":"","url":"https://api.github.com/users/statsmodels","html_url":"https://github.com/statsmodels","followers_url":"https://api.github.com/users/statsmodels/followers","following_url":"https://api.github.com/users/statsmodels/following{/other_user}","gists_url":"https://api.github.com/users/statsmodels/gists{/gist_id}","starred_url":"https://api.github.com/users/statsmodels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/statsmodels/subscriptions","organizations_url":"https://api.github.com/users/statsmodels/orgs","repos_url":"https://api.github.com/users/statsmodels/repos","events_url":"https://api.github.com/users/statsmodels/events{/privacy}","received_events_url":"https://api.github.com/users/statsmodels/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/statsmodels/statsmodels","description":"Statsmodels: statistical modeling and econometrics in Python","fork":false,"url":"https://api.github.com/repos/statsmodels/statsmodels","forks_url":"https://api.github.com/repos/statsmodels/statsmodels/forks","keys_url":"https://api.github.com/repos/statsmodels/statsmodels/keys{/key_id}","collaborators_url":"https://api.github.com/repos/statsmodels/statsmodels/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/statsmodels/statsmodels/teams","hooks_url":"https://api.github.com/repos/statsmodels/statsmodels/hooks","issue_events_url":"https://api.github.com/repos/statsmodels/statsmodels/issues/events{/number}","events_url":"https://api.github.com/repos/statsmodels/statsmodels/events","assignees_url":"https://api.github.com/repos/statsmodels/statsmodels/assignees{/user}","branches_url":"https://api.github.com/repos/statsmodels/statsmodels/branches{/branch}","tags_url":"https://api.github.com/repos/statsmodels/statsmodels/tags","blobs_url":"https://api.github.com/repos/statsmodels/statsmodels/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/statsmodels/statsmodels/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/statsmodels/statsmodels/git/refs{/sha}","trees_url":"https://api.github.com/repos/statsmodels/statsmodels/git/trees{/sha}","statuses_url":"https://api.github.com/repos/statsmodels/statsmodels/statuses/{sha}","languages_url":"https://api.github.com/repos/statsmodels/statsmodels/languages","stargazers_url":"https://api.github.com/repos/statsmodels/statsmodels/stargazers","contributors_url":"https://api.github.com/repos/statsmodels/statsmodels/contributors","subscribers_url":"https://api.github.com/repos/statsmodels/statsmodels/subscribers","subscription_url":"https://api.github.com/repos/statsmodels/statsmodels/subscription","commits_url":"https://api.github.com/repos/statsmodels/statsmodels/commits{/sha}","git_commits_url":"https://api.github.com/repos/statsmodels/statsmodels/git/commits{/sha}","comments_url":"https://api.github.com/repos/statsmodels/statsmodels/comments{/number}","issue_comment_url":"https://api.github.com/repos/statsmodels/statsmodels/issues/comments{/number}","contents_url":"https://api.github.com/repos/statsmodels/statsmodels/contents/{+path}","compare_url":"https://api.github.com/repos/statsmodels/statsmodels/compare/{base}...{head}","merges_url":"https://api.github.com/repos/statsmodels/statsmodels/merges","archive_url":"https://api.github.com/repos/statsmodels/statsmodels/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/statsmodels/statsmodels/downloads","issues_url":"https://api.github.com/repos/statsmodels/statsmodels/issues{/number}","pulls_url":"https://api.github.com/repos/statsmodels/statsmodels/pulls{/number}","milestones_url":"https://api.github.com/repos/statsmodels/statsmodels/milestones{/number}","notifications_url":"https://api.github.com/repos/statsmodels/statsmodels/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/statsmodels/statsmodels/labels{/name}","releases_url":"https://api.github.com/repos/statsmodels/statsmodels/releases{/id}","deployments_url":"https://api.github.com/repos/statsmodels/statsmodels/deployments","created_at":"2011-06-12T17:04:50Z","updated_at":"2017-08-29T13:47:39Z","pushed_at":"2017-08-29T17:34:43Z","git_url":"git://github.com/statsmodels/statsmodels.git","ssh_url":"git@github.com:statsmodels/statsmodels.git","clone_url":"https://github.com/statsmodels/statsmodels.git","svn_url":"https://github.com/statsmodels/statsmodels","homepage":"http://www.statsmodels.org/devel/","size":26904,"stargazers_count":2262,"watchers_count":2262,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1054,"mirror_url":null,"open_issues_count":1684,"forks":1054,"open_issues":1684,"watchers":2262,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755"},"html":{"href":"https://github.com/statsmodels/statsmodels/pull/3755"},"issue":{"href":"https://api.github.com/repos/statsmodels/statsmodels/issues/3755"},"comments":{"href":"https://api.github.com/repos/statsmodels/statsmodels/issues/3755/comments"},"review_comments":{"href":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755/comments"},"review_comment":{"href":"https://api.github.com/repos/statsmodels/statsmodels/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/statsmodels/statsmodels/pulls/3755/commits"},"statuses":{"href":"https://api.github.com/repos/statsmodels/statsmodels/statuses/bf85618dcfcd491261dbd8ea73bebe7850b2f383"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"josef-pkt"}}