PageSourceSearch

https://www.ds-act.com/_next/static/chunks/pages/blog/the-case-for-hybrid-models-d39977e87c8d07bf.js

js ds-act.com collected 2026-10-09 00:39:02 UTC 11,427 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[465],{1321:function(e,t,n){(window.__NEXT_P=window.__NEXT_P||[]).push(["/blog/the-case-for-hybrid-models",function(){return n(2308)}])},638:function(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},a=Object.keys(n);"function"===typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),a.forEach((function(t){r(e,t,n[t])}))}return e}t.default=function(e,t){var n=i.default,r={loading:function(e){e.error,e.isLoading;return e.pastDelay,null}};o=e,s=Promise,(null!=s&&"undefined"!==typeof Symbol&&s[Symbol.hasInstance]?s[Symbol.hasInstance](o):o instanceof s)?r.loader=function(){return e}:"function"===typeof e?r.loader=e:"object"===typeof e&&(r=a({},r,e));var o,s;var l=r=a({},r,t);if(l.suspense)throw new Error("Invalid suspense option usage in next/dynamic. Read more: https://nextjs.org/docs/messages/invalid-dynamic-suspense");if(l.suspense)return n(l);r.loadableGenerated&&delete(r=a({},r,r.loadableGenerated)).loadableGenerated;if("boolean"===typeof r.ssr){if(!r.ssr)return delete r.ssr,u(n,r);delete r.ssr}return n(r)};o(n(7294));var i=o(n(4302));function o(e){return e&&e.__esModule?e:{default:e}}function u(e,t){return delete t.webpack,delete t.modules,e(t)}},6319:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.LoadableContext=void 0;var a=((r=n(7294))&&r.__esModule?r:{default:r}).default.createContext(null);t.LoadableContext=a},4302:function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"===typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable})))),r.forEach((function(t){a(e,t,n[t])}))}return e}Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var o,u=(o=n(7294))&&o.__esModule?o:{default:o},s=n(7161),l=n(6319);var d=[],c=[],f=!1;function h(e){var t=e(),n={loading:!0,loaded:null,error:null};return n.promise=t.then((function(e){return n.loading=!1,n.loaded=e,e})).catch((function(e){throw n.loading=!1,n.error=e,e})),n}var b=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._loadFn=t,this._opts=n,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}var t,n,a;return t=e,(n=[{key:"promise",value:function(){return this._res.promise}},{key:"retry",value:function(){var e=this;this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};var t=this._res,n=this._opts;if(t.loading){if("number"===typeof n.delay)if(0===n.delay)this._state.pastDelay=!0;else{var r=this;this._delay=setTimeout((function(){r._update({pastDelay:!0})}),n.delay)}if("number"===typeof n.timeout){var a=this;this._timeout=setTimeout((function(){a._update({timedOut:!0})}),n.timeout)}}this._res.promise.then((function(){e._update({}),e._clearTimeouts()})).catch((function(t){e._update({}),e._clearTimeouts()})),this._update({})}},{key:"_update",value:function(e){this._state=i({},this._state,{error:this._res.error,loaded:this._res.loaded,loading:this._res.loading},e),this._callbacks.forEach((function(e){return e()}))}},{key:"_clearTimeouts",value:function(){clearTimeout(this._delay),clearTimeout(this._timeout)}},{key:"getCurrentValue",value:function(){return this._state}},{key:"subscribe",value:function(e){var t=this;return this._callbacks.add(e),function(){t._callbacks.delete(e)}}}])&&r(t.prototype,n),a&&r(t,a),e}();function m(e){return function(e,t){var n=function(){if(!a){var t=new b(e,r);a={getCurrentValue:t.getCurrentValue.bind(t),subscribe:t.subscribe.bind(t),retry:t.retry.bind(t),promise:t.promise.bind(t)}}return a.promise()},r=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null,suspense:!1},t);r.suspense&&(r.lazy=u.default.lazy(r.loader));var a=null;if(!f&&!r.suspense){var o=r.webpack?r.webpack():r.modules;o&&c.push((function(e){var t=!0,r=!1,a=void 0;try{for(var i,u=o[Symbol.iterator]();!(t=(i=u.next()).done);t=!0){var s=i.value;if(-1!==e.indexOf(s))return n()}}catch(l){r=!0,a=l}finally{try{t||null==u.return||u.return()}finally{if(r)throw a}}}))}var d=r.suspense?function(e,t){return u.default.createElement(r.lazy,i({},e,{ref:t}))}:function(e,t){n();var i=u.default.useContext(l.LoadableContext),o=s.useSubscription(a);return u.default.useImperativeHandle(t,(function(){return{retry:a.retry}}
1),[]),i&&Array.isArray(r.modules)&&r.modules.forEach((function(e){i(e)})),u.default.useMemo((function(){return o.loading||o.error?u.default.createElement(r.loading,{isLoading:o.loading,pastDelay:o.pastDelay,timedOut:o.timedOut,error:o.error,retry:a.retry}):o.loaded?u.default.createElement(function(e){return e&&e.__esModule?e.default:e}(o.loaded),e):null}),[e,o])};return d.preload=function(){return!r.suspense&&n()},d.displayName="LoadableComponent",u.default.forwardRef(d)}(h,e)}function p(e,t){for(var n=[];e.length;){var r=e.pop();n.push(r(t))}return Promise.all(n).then((function(){if(e.length)return p(e,t)}))}m.preloadAll=function(){return new Promise((function(e,t){p(d).then(e,t)}))},m.preloadReady=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return new Promise((function(t){var n=function(){return f=!0,t()};p(c,e).then(n,n)}))},window.__NEXT_PRELOADREADY=m.preloadReady;var y=m;t.default=y},2308:function(e,t,n){"use strict";n.r(t);var r=n(5893),a=n(4515);t.default=function(){return(0,r.jsxs)(a.Xg,{blogwithsidebar:!0,children:[(0,r.jsx)(a.xv,{p:!0,children:"Actuarial science and data science are different traditions, each with their own learning backgrounds, desired outcomes, standards for good work, and skillsets."}),(0,r.jsxs)(a.xv,{p:!0,children:["Actuaries tend to have mathematical modeling backgrounds that they learn through a combination of studying and work experience. This allows them to develop good understandings of the businesses they operate in, and they tend to be experts at connecting analytical methods to the business problems they or their employers face. Their mathematical backgrounds often place emphasis on ",(0,r.jsx)("i",{children:"a priori"})," reasoning and of gaining an intuitive quantitative understanding of the world around them. While actuaries do work with and depend on data to a large degree, data scientists are even more focused on data."]}),(0,r.jsx)(a.xv,{p:!0,children:"Data scientists are generally less trained in math and more trained in statistics and computer science than actuaries. They have skills and tools that allow them to work with larger, more detailed datasets than actuaries typically can, and they can generally automate their work better. Because data scientists tend to have less training on the job and more training in the academic world, they can place more emphasis on statistical rigor than actuaries, but sometimes at the expense of business objectives."}),(0,r.jsx)(a.xv,{p:!0,children:"Data scientists and actuaries are not interchangeable. For example, you wouldn\u2019t hire an actuary to build a recommendation system for a streaming service and you wouldn\u2019t hire a data scientist to sign off on a reserve statement for an insurer. However, there is an area where the functions of data scientist and actuary overlap: predictive modeling for financial security systems like insurance."}),(0,r.jsx)(a.xv,{p:!0,children:"For this use case, in theory, actuaries and data scientists should be complementary. And some teams know this. However, I wish to take it a step further. People often think of machine learning predictive models and actuarial models as mutually exclusive. However, they each have different strengths and they should be combined in a way that combines the benefits of both of them."}),(0,r.jsx)(a.xv,{p:!0,children:"Machine learning is great at learning detailed, sometimes nonlinear, patterns from large datasets. However, it\u2019s clueless about anything outside of the data it gets to train on. On the other hand, actuaries have broader knowledge and they bake that knowledge into their models. For example, an actuarial model might incorporate information from three sources to make its predictions: a claims cost dataset, medical contracts and price lists, and some general industry trends."}),(0,r.jsx)(a.xv,{p:!0,children:"In order to combine the depth of machine learning with the breadth of actuarial knowledge, we might want to use machine learning to build a model by analyzing the claims dataset and then combine that model with the other knowledge the actuary has. There is no formulaic way of doing this that always works perfectly. However, there are some options, and we will dive into them in a more detailed post."})]})}},4515:function(e,t,n){"use strict";n.d(t,{Xg:function(){return a},xv:function(){return i},ty:function(){return o},e9:function(){return u}});var r=n(5152),a=(0,r.default)((function(){return Promise.all([n.e(228),n.e(13),n.e(874),n.e(788)]).then(n.bind(n,8788))}),{loadableGenerated:{webpack:function(){return[8788]}}}),i=(0,r.default)((function(){return n.e(980).then(n.bind(n,6980))}),{loadableGenerated:{webpack:function(){return[6980]}}}),o=((0,r.default)((function(){return n.e(28).then(n.bind(n,3028))}),{loadableGenerated:{webpack:function(){return[3028]}}}),(0,r.default)((function(){return n.e(199).then(n.bind(n,2199))}),{loadableGenerated:{webpack:function(){return[2199]}}})),u=((0,r.default)((function(){return n.e(70).then(n.bind(n,7070))}),{loadableGenerated:{webpack:function(){return[7070]}}}),(0,r.default)((function(){return Promise.resolve().then(n.bind(n,534))}),{loadableGenerated:{webpack:function(){return[534]}}}));(0,r.default)((function(){return n.e(162).then(n.bind(n,162))}),{loadableGenerated:{webpack:function(){return[162]}}}),(0,r.default)((function(){return n.e(354).then(n.bind(n,7354))}),{loadableGenerated:{webpack:function(){return[7354]}}}),(0,r.default)((function(){return Promise.all([n.e(4),n.e(931)]).then(n.bind(n,931))}),{loadableGenerated:{webpack:function(){return[931]}}})},5152:function(e,t,n){e.exports=n(638)},8217:function(e,t,n){"use strict";var r=n(6086),a=n(7294);t.useSubscription=function(e){var t=e.getCurrentValue,n=e.subscribe,i=a.use
1State((function(){return{getCurrentValue:t,subscribe:n,value:t()}}));e=i[0];var o=i[1];return i=e.value,e.getCurrentValue===t&&e.subscribe===n||(i=t(),o({getCurrentValue:t,subscribe:n,value:i})),a.useDebugValue(i),a.useEffect((function(){function e(){if(!a){var e=t();o((function(a){return a.getCurrentValue!==t||a.subscribe!==n||a.value===e?a:r({},a,{value:e})}))}}var a=!1,i=n(e);return e(),function(){a=!0,i()}}),[t,n]),i}},7161:function(e,t,n){"use strict";e.exports=n(8217)}},function(e){e.O(0,[774,888,179],(function(){return t=1321,e(e.s=t);var t}));var t=e.O();_N_E=t}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.