{"id":1445,"date":"2025-02-02T14:47:02","date_gmt":"2025-02-02T14:47:02","guid":{"rendered":"https:\/\/justinmatters.co.uk\/wp\/?p=1445"},"modified":"2025-04-25T15:39:21","modified_gmt":"2025-04-25T15:39:21","slug":"checking-statistical-intuition-with-simulation","status":"publish","type":"post","link":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/","title":{"rendered":"Checking Statistical Intuition With Simulation"},"content":{"rendered":"<p>It is well known that while in some ways humans have remarkable <a href=\"https:\/\/en.wikipedia.org\/wiki\/Intuitive_statistics\">statistical intuition,<\/a> we are also susceptible to blind spots which can lead to serious errors. One way to reduce the danger posed by these biases is to run some simulations. This allows us to get a feel for a likely answer, which can then be checked against our calculated probabilities. If we see good agreement, then it is likely we have calculated correctly. If not then we can re-examine our logic (and possibly our simulation) to get a grasp of where we have gone wrong. This article gives an example of checking statistical intuition with simulation.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1457\" src=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-700x117.png\" alt=\"\" width=\"700\" height=\"117\" srcset=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-700x117.png 700w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-300x50.png 300w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-768x128.png 768w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1.png 1024w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<h2>A test which confirms intuition<\/h2>\n<p>Lets try this with a concrete example. Suppose we roll a normal six sided dice until we roll a six and count how long each sequence of rolls is. What would we expect the average number of rolls in each sequence to be?<\/p>\n<p>Well with a probability of 1\/6 of rolling a six we might expect that the average length of sequences to be 1\/(1\/6) = 6. A visual illustration of such sequences might look like the second row of dice. Here the sequences ending in a six are coloured alternately blue and yellow:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1458\" src=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_2-700x198.png\" alt=\"\" width=\"700\" height=\"198\" srcset=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_2-700x198.png 700w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_2-300x85.png 300w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_2-768x217.png 768w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_2.png 1024w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>If we want to check our calculation we could roll a lot of dice and calculate average sequence length. More easily, we can run a\u00a0 test with a small python program like this:<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport random\r\n\r\nsequences = &#x5B;]\r\n# lets create 1000 test sequences\r\nfor i in range (1000):\r\n    sequence = &#x5B;]\r\n    # add values to a sequence until we roll a six\r\n    while True:\r\n        value = random.randint(1,6)\r\n        sequence.append(value)\r\n        if value == 6:\r\n            # record the length of the finished sequence if we roll a 6\r\n            sequences.append(len(sequence))\r\n            break\r\n# calculate the average length of our sequences\r\nprint(sum(sequences)\/len(sequences))\r\n<\/pre>\n<p>Running this a few times we might get results like 5.991, 6.062, 6.106. This seems to give good support for our intuition and our mathematical justification that the average sequence length is 6.<\/p>\n<h2>A test which contradicts intuition<\/h2>\n<p><a href=\"https:\/\/gilkalai.wordpress.com\/2017\/09\/07\/tyi-30-expected-number-of-dice-throws\/\">Now lets consider a modified form of the above question<\/a>. This time we are still going to roll the dice until we get a 6 and count the rolls. However if we roll an odd number we will end the current sequence and roll again starting a new sequence. How long might we expect as the average sequence length now?<\/p>\n<p>Naively this question appears simple. We are not allowing rolls of 1,3 or 5 so we only have 3 possible rolls 2,4 and 6, therefore we might jump to the conclusion that with a 1\/3 chance of rolling a six we now expect a sequence length of 1\/(1\/3) or 3.<\/p>\n<p>Fortunately we can check our answer by running a simulation. We might use code like:<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nimport random\r\n\r\nterminated = False\r\nsequences = &#x5B;]\r\n# lets create 1000 test sequences\r\nfor i in range (1000):\r\n    sequence = &#x5B;]\r\n    while True:\r\n        value = random.randint(1,6)\r\n        # terminate any sequence where we roll an odd number\r\n        if value == 1 or value == 3 or value == 5:\r\n            break\r\n        # otherwise add values to a sequence until we roll a six\r\n        else:\r\n            sequence.append(value)\r\n        if value == 6:\r\n            # record the length of the finished sequence if we roll a 6\r\n            sequences.append(len(sequence))\r\n            break\r\nif len(sequences) &gt; 0:\r\n    # calculate the average length of our sequences\r\n    print(sum(sequences)\/len(sequences))\r\n<\/pre>\n<p>When we run this code a few times though, we get an unexpected result. The average path lengths from our code are: 1.557, 1.539, 1.465.\u00a0 This is half our expected value of 3, so clearly something is wrong with either our code or our intuition, the simulation has alerted us that something unexpected is occurring. In this case it is the code which is correct and our intuition which is wrong.<\/p>\n<h2>Investigating the error<\/h2>\n<p>To understand why we might want to take a look at how many valid sequences our code produced by adding a line to the end of the code<\/p>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\nprint(len(sequences))\r\n<\/pre>\n<p>Running this we get numbers like 242, 267 and 253. It appears that only about 1\/4 of our 1000 attempts to produce a sequence ending in six are successful. As an aside, this is why I checked that len(sequences) &gt; 0. There is a theoretical possibility that our thousand attempts might produce no valid sequences though the probability is infinitesimal.<\/p>\n<p>So what is actually happening? Well our sequences now terminate if we roll a 1,3,5 or 6. However we only retain the sequences ending in 6 (on average a quarter of the sequences). However that means that the chance of a sequence terminating is not 1\/3 as we believed but actually 4\/6. Therefore the expected length of a sequence should actually be 1\/(4\/6) or 6\/4 which is 1.5 as confirmed by our simulation. Even though we throw away 3\/4 of the sequences because they end in an odd number, that does not change the average expected length.<\/p>\n<p>To see this visually consider the same sequence of dice rolls we had above but this time visualised according to our new rule. In this case we only consider the sequences highlighted in white on the bottom row of dice. These white sequences are the ones where where a sequence ends in six. The other sequences in yellow and blue terminate in an odd number.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-1459\" src=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_3-700x293.png\" alt=\"\" width=\"700\" height=\"293\" srcset=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_3-700x293.png 700w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_3-300x125.png 300w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_3-768x321.png 768w, https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_3.png 1024w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/p>\n<p>Seeing the pattern makes it clear why the expected length is 1.5 not 3. With both odds and sixes terminating sequences it is clear that sequences will tend to be short. This is a clear illustration of the power of simulation to check that experiment and prediction line up.<\/p>\n<h2>Conclusion<\/h2>\n<p>I hope this has been a useful toy example to demonstrate checking statistical intuition with simulation. With practice such simulations become quick to write and help to validate or invalidate our calculations. They can also offer insight into what is going on in a situation allowing us to make better predictions in future. Sometimes they can also indicate whether a <a href=\"https:\/\/www.redjournal.org\/article\/S0360-3016(21)03256-9\/fulltext#:~:text=%3A%20the%20frequentist%20approach%20assigns%20probabilities,as%20more%20data%20become%20available.\">Bayesian or Frequentist<\/a> approach might be most useful for handling a situation<\/p>\n","protected":false},"excerpt":{"rendered":"<p>It is well known that while in some ways humans have remarkable statistical intuition, we are also susceptible to blind spots which can lead to&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[173,174,108,70],"class_list":["post-1445","post","type-post","status-publish","format-standard","hentry","category-problem-solving","tag-intuition","tag-simulation","tag-statistics","tag-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Checking Statistical Intuition With Simulation - Justin&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Checking Statistical Intuition With Simulation - Justin&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"It is well known that while in some ways humans have remarkable statistical intuition, we are also susceptible to blind spots which can lead to&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/\" \/>\n<meta property=\"og:site_name\" content=\"Justin&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-02-02T14:47:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-04-25T15:39:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-700x117.png\" \/>\n<meta name=\"author\" content=\"justinmatters\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"justinmatters\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/\"},\"author\":{\"name\":\"justinmatters\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/#\\\/schema\\\/person\\\/7c3e0740e1fef74f705c19f175f6f321\"},\"headline\":\"Checking Statistical Intuition With Simulation\",\"datePublished\":\"2025-02-02T14:47:02+00:00\",\"dateModified\":\"2025-04-25T15:39:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/\"},\"wordCount\":976,\"commentCount\":1,\"image\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/probabilities_1-700x117.png\",\"keywords\":[\"intuition\",\"simulation\",\"statistics\",\"Testing\"],\"articleSection\":[\"Problem Solving\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/\",\"url\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/\",\"name\":\"Checking Statistical Intuition With Simulation - Justin&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/probabilities_1-700x117.png\",\"datePublished\":\"2025-02-02T14:47:02+00:00\",\"dateModified\":\"2025-04-25T15:39:21+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/#\\\/schema\\\/person\\\/7c3e0740e1fef74f705c19f175f6f321\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#primaryimage\",\"url\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/probabilities_1.png\",\"contentUrl\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/wp-content\\\/uploads\\\/2025\\\/02\\\/probabilities_1.png\",\"width\":1024,\"height\":171},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/checking-statistical-intuition-with-simulation\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Checking Statistical Intuition With Simulation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/#website\",\"url\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/\",\"name\":\"Justin's Blog\",\"description\":\"Justin&#039;s Coding and Geek Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/#\\\/schema\\\/person\\\/7c3e0740e1fef74f705c19f175f6f321\",\"name\":\"justinmatters\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/27cf337940887c098b79716aa7025ce782bd51de3f6b07a9dcad710bbf576c59?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/27cf337940887c098b79716aa7025ce782bd51de3f6b07a9dcad710bbf576c59?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/27cf337940887c098b79716aa7025ce782bd51de3f6b07a9dcad710bbf576c59?s=96&d=mm&r=g\",\"caption\":\"justinmatters\"},\"description\":\"Data Scientist specialising in Python, PySpark, SQL and Machine Learning\",\"sameAs\":[\"https:\\\/\\\/justinmatters.co.uk\\\/wp\\\/\",\"https:\\\/\\\/uk.linkedin.com\\\/in\\\/justin-matters-edinburgh\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Checking Statistical Intuition With Simulation - Justin&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/","og_locale":"en_US","og_type":"article","og_title":"Checking Statistical Intuition With Simulation - Justin&#039;s Blog","og_description":"It is well known that while in some ways humans have remarkable statistical intuition, we are also susceptible to blind spots which can lead to&hellip;","og_url":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/","og_site_name":"Justin&#039;s Blog","article_published_time":"2025-02-02T14:47:02+00:00","article_modified_time":"2025-04-25T15:39:21+00:00","og_image":[{"url":"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-700x117.png","type":"","width":"","height":""}],"author":"justinmatters","twitter_card":"summary_large_image","twitter_misc":{"Written by":"justinmatters","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#article","isPartOf":{"@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/"},"author":{"name":"justinmatters","@id":"https:\/\/justinmatters.co.uk\/wp\/#\/schema\/person\/7c3e0740e1fef74f705c19f175f6f321"},"headline":"Checking Statistical Intuition With Simulation","datePublished":"2025-02-02T14:47:02+00:00","dateModified":"2025-04-25T15:39:21+00:00","mainEntityOfPage":{"@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/"},"wordCount":976,"commentCount":1,"image":{"@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#primaryimage"},"thumbnailUrl":"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-700x117.png","keywords":["intuition","simulation","statistics","Testing"],"articleSection":["Problem Solving"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/","url":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/","name":"Checking Statistical Intuition With Simulation - Justin&#039;s Blog","isPartOf":{"@id":"https:\/\/justinmatters.co.uk\/wp\/#website"},"primaryImageOfPage":{"@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#primaryimage"},"image":{"@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#primaryimage"},"thumbnailUrl":"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1-700x117.png","datePublished":"2025-02-02T14:47:02+00:00","dateModified":"2025-04-25T15:39:21+00:00","author":{"@id":"https:\/\/justinmatters.co.uk\/wp\/#\/schema\/person\/7c3e0740e1fef74f705c19f175f6f321"},"breadcrumb":{"@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#primaryimage","url":"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1.png","contentUrl":"https:\/\/justinmatters.co.uk\/wp\/wp-content\/uploads\/2025\/02\/probabilities_1.png","width":1024,"height":171},{"@type":"BreadcrumbList","@id":"https:\/\/justinmatters.co.uk\/wp\/checking-statistical-intuition-with-simulation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/justinmatters.co.uk\/wp\/"},{"@type":"ListItem","position":2,"name":"Checking Statistical Intuition With Simulation"}]},{"@type":"WebSite","@id":"https:\/\/justinmatters.co.uk\/wp\/#website","url":"https:\/\/justinmatters.co.uk\/wp\/","name":"Justin's Blog","description":"Justin&#039;s Coding and Geek Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/justinmatters.co.uk\/wp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/justinmatters.co.uk\/wp\/#\/schema\/person\/7c3e0740e1fef74f705c19f175f6f321","name":"justinmatters","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/27cf337940887c098b79716aa7025ce782bd51de3f6b07a9dcad710bbf576c59?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/27cf337940887c098b79716aa7025ce782bd51de3f6b07a9dcad710bbf576c59?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/27cf337940887c098b79716aa7025ce782bd51de3f6b07a9dcad710bbf576c59?s=96&d=mm&r=g","caption":"justinmatters"},"description":"Data Scientist specialising in Python, PySpark, SQL and Machine Learning","sameAs":["https:\/\/justinmatters.co.uk\/wp\/","https:\/\/uk.linkedin.com\/in\/justin-matters-edinburgh"]}]}},"_links":{"self":[{"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/posts\/1445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/comments?post=1445"}],"version-history":[{"count":15,"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/posts\/1445\/revisions"}],"predecessor-version":[{"id":1491,"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/posts\/1445\/revisions\/1491"}],"wp:attachment":[{"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/media?parent=1445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/categories?post=1445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/justinmatters.co.uk\/wp\/wp-json\/wp\/v2\/tags?post=1445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}