<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Data Analytics &#8211; Megaputer Intelligence</title>
	<atom:link href="https://www.megaputer.com/tag/data-analytics/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.megaputer.com</link>
	<description>Your Knowledge Partner</description>
	<lastBuildDate>Tue, 24 Mar 2026 00:02:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.0.22</generator>

<image>
	<url>https://www.megaputer.com/wp-content/uploads/favicon.png</url>
	<title>Data Analytics &#8211; Megaputer Intelligence</title>
	<link>https://www.megaputer.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Query languages—the Swiss army knife of information extraction</title>
		<link>https://www.megaputer.com/query-languages-the-swiss-army-knife-of-information-extraction/</link>
		<pubDate>Tue, 06 Feb 2024 05:19:41 +0000</pubDate>
		<dc:creator><![CDATA[Echo Lu]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Computational Linguistics]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Entity Extraction]]></category>
		<category><![CDATA[Fuzzy Matching]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Morphology]]></category>
		<category><![CDATA[Pattern Definition Language]]></category>
		<category><![CDATA[Text Analytics]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=35231</guid>
		<description><![CDATA[<p>Text mining, the art of extracting information from text, requires the formulation of efficient queries that retrieve information based on user input. To do this, the user requires a language for writing queries. For the most basic use cases, the language operators could be regex or string search. But while regex and string search are...</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/query-languages-the-swiss-army-knife-of-information-extraction/">Query languages—the Swiss army knife of information extraction</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><span style="font-weight: 400;">Text mining, the art of extracting information from text, requires the formulation of efficient queries that retrieve information based on user input. To do this, the user requires a language for writing queries. For the most basic use cases, the language operators could be regex or string search. But while regex and string search are indispensable for text mining, their utility hits a hard ceiling when semantic or meaningful search is required. They cannot, for example, capture complex entities such as human names, corporations, and drugs. For handling tasks like these, we need a more powerful query language that has semantic understanding, such as Megaputer’s PDL.</span></p>
<p><span style="font-weight: 400;">So, what is PDL, and how does it achieve semantic understanding while regex and string search do not? Let’s take a look at an example to find out.</span></p>
<p><span style="font-weight: 400;">First of all, PDL does not just search for the literal form of the word in the query: instead, it automatically extends its search to all morphological forms of the word. For example, when searching for the word “company” in financial news articles, the PDL query will not only find “company”, but also “companies,” the plural form. This feature often comes in handy, especially when the search involves a verb. Suppose that you are interested in extracting </span><i><span style="font-weight: 400;">what the CEOs said. </span></i><span style="font-weight: 400;">With regex or other substring search, you will need to list all possible verb forms such as “say,” “saying,” “says,” and “said.” With PDL, simply entering “say” in the query will automatically fetch all possible verb forms. This behavior can also be turned off by enclosing the word in the </span><i><span style="font-weight: 400;">form </span></i><span style="font-weight: 400;">function</span><span style="font-weight: 400;">,</span><span style="font-weight: 400;"> which will then restrict the search to the literal form of the word, such as in the example below.</span></p>
<p><img class="wp-image-35249 aligncenter" src="https://www.megaputer.com/wp-content/uploads/comparison_pdl-1.png" alt="" width="800" height="497" /><br />
<!-- <img class="wp-image-35232 aligncenter" src="https://www.megaputer.com/wp-content/uploads/pdl-image-1-300x186.jpg" alt="" width="710" height="440" srcset="https://www.megaputer.com/wp-content/uploads/pdl-image-1-300x186.jpg 300w, https://www.megaputer.com/wp-content/uploads/pdl-image-1-1024x636.jpg 1024w, https://www.megaputer.com/wp-content/uploads/pdl-image-1-768x477.jpg 768w, https://www.megaputer.com/wp-content/uploads/pdl-image-1-644x400.jpg 644w, https://www.megaputer.com/wp-content/uploads/pdl-image-1-600x373.jpg 600w" sizes="(max-width: 710px) 100vw, 710px" /> --></p>
<p><span style="font-weight: 400;">Another notable feature of the PDL language is its capability for users to tailor the scope of their searches using a range of built-in functions. Returning to the previous example, you may not wish to confine your search exclusively to the specific verb “say,” but rather include other synonymous verbs like “tell” or “mention.” Achieving this is straightforward with PDL – users can invoke the </span><i><span style="font-weight: 400;">synonym</span></i> <span style="font-weight: 400;">function with the verb &#8220;say,&#8221; as demonstrated in (a) below. As the subsequent results table (b) illustrates, the captured text now includes various speech verbs such as “tell,” “emphasize,” and “claim,” in addition to the word “say,” capturing them in all possible verb forms. For additional flexibility, the user can also create and modify synonym dictionaries.</span></p>
<p><img class="wp-image-35250 aligncenter" src="https://www.megaputer.com/wp-content/uploads/comparison_pdl-2.png" alt="" width="800" height="497" /><br />
<!-- <img class="wp-image-35235 aligncenter" src="https://www.megaputer.com/wp-content/uploads/pdl-image-2-300x269.jpg" alt="" width="737" height="661" srcset="https://www.megaputer.com/wp-content/uploads/pdl-image-2-300x269.jpg 300w, https://www.megaputer.com/wp-content/uploads/pdl-image-2-1024x919.jpg 1024w, https://www.megaputer.com/wp-content/uploads/pdl-image-2-768x689.jpg 768w, https://www.megaputer.com/wp-content/uploads/pdl-image-2-446x400.jpg 446w, https://www.megaputer.com/wp-content/uploads/pdl-image-2-600x538.jpg 600w" sizes="(max-width: 737px) 100vw, 737px" /> --></p>
<p><span style="font-weight: 400;">The PDL language offers various modes of information extraction, including proximity search (e.g., finding words A and B within a sentence, or within a 3-words range), syntactic relation (e.g., finding word A that is the subject or object of B), semantic relation (e.g., finding words that are synonyms/antonyms to word A), access to dictionaries and ontologies, and more. This language is expressive enough to capture complex patterns, and yet relatively easy to use, </span><span style="font-weight: 400;">having a syntax that closely resembles English. Having access to this versatile query language significantly enhances the power and quality of text mining operations.</span></p>
<p><span style="font-weight: 400;">In conclusion, PDL is a powerful and versatile query language that enables users to extract meaningful information from text with greater efficiency and accuracy than competing methods like regex or string search. Its ability to understand and capture morphological forms, synonyms, and other complex patterns makes it an indispensable tool for solving text mining tasks that require semantic understanding. By leveraging the capabilities of PDL, users can enhance their information extraction processes and gain valuable insights from their data, making it a true Swiss army knife of information extraction.</span></p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/query-languages-the-swiss-army-knife-of-information-extraction/">Query languages—the Swiss army knife of information extraction</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What is Time Series Analysis?</title>
		<link>https://www.megaputer.com/what-is-time-series-analysis/</link>
		<pubDate>Wed, 15 Jul 2020 19:46:19 +0000</pubDate>
		<dc:creator><![CDATA[Chris Farris]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Prediction]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=32888</guid>
		<description><![CDATA[<p>We may have conducted a study, collected vital signs from different patients, and are now fitting some predictive model. These patients are unique and independent cases, which collectively make up a trend. However, many kinds of systems are not collections of individual data points; they are a sequence of observations of one concept over time. When we consider time and past observations of a variable to model how it behaves and make forecasts, this is called a time series analysis.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/what-is-time-series-analysis/">What is Time Series Analysis?</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row type_default valign_top"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>What is Time Series Analysis?</h2>
<p>Many types of <a href="https://www.megaputer.com/choosing-machine-learning-models/">models are created from individual samples of data</a>. We may have conducted a study, collected vital signs from different patients, and are now fitting some predictive model. These patients are unique and independent cases, which collectively make up a trend. However, many kinds of systems are not collections of individual data points; they are a sequence of observations of one concept over time. The fluctuations in the stock market, global temperatures, oil sales, activity of solar flares, and so on are not baskets of different observations, but rather they are sequences of the same object through time. Thus, we would like to model how this object changes over time. When we consider time and past observations of a variable to model how it behaves and make forecasts, this is called a <em>time series analysis</em>.</p>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>As the name implies, time series models are used to predict what will happen in the future. The goal is to learn patterns from the past and use those for forecasting. These models are used in many applications such as predicting the weather and predicting economic activity for investors. There are many kinds of time series analysis, some more complicated than others, but today we will examine a relatively straightforward yet powerful one: ARIMA. ARIMA, or Autoregressive Integrated Moving Average, is built out of several components. Let’s tackle the Autoregressive portion first.</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_center"><div class="w-image-h"><img width="1024" height="698" src="https://www.megaputer.com/wp-content/uploads/timeseries-icon-1024x698.png" class="attachment-large size-large" alt="Magnifying highlighting specific point in time graphic" srcset="https://www.megaputer.com/wp-content/uploads/timeseries-icon-1024x698.png 1024w, https://www.megaputer.com/wp-content/uploads/timeseries-icon-300x205.png 300w, https://www.megaputer.com/wp-content/uploads/timeseries-icon-768x524.png 768w, https://www.megaputer.com/wp-content/uploads/timeseries-icon-600x409.png 600w, https://www.megaputer.com/wp-content/uploads/timeseries-icon.png 1056w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div></div></div></div></div><div class="ult-spacer spacer-6a392173abe06" data-id="6a392173abe06" data-height="20" data-height-mobile="10" data-height-tab="20" data-height-tab-portrait="20" data-height-mobile-landscape="10" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>Autoregression</h2>
<p>The concept of autoregression is simple: What happens today is strongly correlated with what happened yesterday, mildly correlated with what happened last week, weakly correlated with what happened last month, and so on. Essentially, we would like to use past values of our variable to predict future ones. That is, at a given time, <em>t</em>, our value at that time is modeled as a constant, <em>c</em>, plus a sum of weighted past values going back <em>p</em> timestamps, plus some Gaussian noise (error).</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="583" height="227" src="https://www.megaputer.com/wp-content/uploads/autoregression.png" class="attachment-large size-large" alt="AutoRegressionForumula" srcset="https://www.megaputer.com/wp-content/uploads/autoregression.png 583w, https://www.megaputer.com/wp-content/uploads/autoregression-300x117.png 300w" sizes="(max-width: 583px) 100vw, 583px" /></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>This equation may look familiar. It is just a <a href="https://www.megaputer.com/5-things-linear-regression-models/" target="_blank" rel="noopener">linear regression</a> using past values of our variable as the input variables. This is where the “auto” part of autoregression comes from. We are regressing a variable on itself. And we can easily fit this model using Ordinary Least Squares; we just need to select the parameter <em>p</em>, which is how far back we want to look.</p>
<h2>Moving Averages</h2>
<p>Autoregression is fairly intuitive. Moving averages, however, are a bit trickier to understand. In a moving average model, we don’t use the actual values of our past observations, but rather the errors they accrued. More formally, a moving average is another type of linear regression but instead of using past observations of data, we use their errors.</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="590" height="204" src="https://www.megaputer.com/wp-content/uploads/forumla.png" class="attachment-large size-large" alt="MovingAveragesFormula" srcset="https://www.megaputer.com/wp-content/uploads/forumla.png 590w, https://www.megaputer.com/wp-content/uploads/forumla-300x104.png 300w" sizes="(max-width: 590px) 100vw, 590px" /></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Moving averages are conceptually simple, but tricky because they can be hard to create helpful analogies. A good example is to consider a human trying to throw a stone as far as possible. They first throw the stone and have some deviation or “noise” or “error” from their typical throw. Then they throw again. This second throw may have a deviation from the typical throw related to the deviation in their previous throw. Maybe a good first throw gives them confidence and they are more likely to continue that success or maybe a poor throw dejects them and makes them more likely to have another poor throw. With moving averages, there is momentum in these deviations.</p>
<h2>Integrated</h2>
<p>We can combine the two models described above to form a model called an ARMA (Autoregressive Moving Average) or even an ARIMA. Unfortunately, the “integrated” portion of ARIMA is a bit too technical in detail to discuss here in depth. Basically, it refers to the fact that an ARIMA system is something that is an ARMA system when we take the difference between successive times. Or in the case of a continuous time series, we take the derivative. It basically means that we can consider if we should be modeling the data directly or if we should model the rate of change of the data and then accumulate that change.</p>
<h2>Seasonality</h2>
<p>ARIMA models are good but they often fall short when data exhibits seasonal behavior. For example, consider temperatures over a period of years.</p>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>There is a strong cyclical pattern as summer is hotter than winter. Thus, the data may be strongly correlated with the direct past, but it is also strongly correlated with some fixed periodic interval. The temperatures today depend on what they were last week, very little on what they were six months ago, and moderately on what they were a year ago. We can include autoregressive and moving average models that, instead of looking back several timestamps, they look back several periods of the seasonal structure. ARIMA combined with this seasonal model is called Seasonal ARIMA or SARIMA.</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_center"><div class="w-image-h"><img width="1600" height="1061" src="https://www.megaputer.com/wp-content/uploads/seasons.jpg" class="attachment-full size-full" alt="Shared landscape of trees depicting each season and time" srcset="https://www.megaputer.com/wp-content/uploads/seasons.jpg 1600w, https://www.megaputer.com/wp-content/uploads/seasons-300x199.jpg 300w, https://www.megaputer.com/wp-content/uploads/seasons-1024x679.jpg 1024w, https://www.megaputer.com/wp-content/uploads/seasons-768x509.jpg 768w, https://www.megaputer.com/wp-content/uploads/seasons-600x398.jpg 600w" sizes="(max-width: 1600px) 100vw, 1600px" /></div></div></div></div></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>Using ARIMA Models</h2>
<p>Training an ARIMA model is fast and easy. The problem is choosing the hyperparameters of how far you wish to look back and if there is seasonality. However, like traditional linear regression, there are several statistical tools to help make that decision. We can use autocorrelation and partial autocorrelation correlograms to help visualize when to make these cutoffs. When fitting a model, we can view heuristics like the distribution of our errors and measures like AIC and BIC to compare performance. Once we have selected a model, we can use it to make forecasts and either through some statistical calculations or simulation, we can then create a band of likelihood. Our predictions, like any regression, are almost impossible to be literally true. It is unlikely that we get exactly the right price of a stock or the exact temperature. However, we can create confidence intervals, which are regions where we are 95% (or some other value) sure the future will move in. All of this was achieved simply by looking at the past values of our desired variable. Plus, time series can be made more powerful by using independent input variables in the regression as well.</p>
<p>ARIMA models are another example of an excellent application of statistics in that they are:</p>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<ul>
<li>Formalized</li>
<li>Easy to understand</li>
<li>Predictable</li>
</ul>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<ul>
<li>Interpretable</li>
<li>Produce successful results</li>
</ul>

		</div>
	</div>
</div></div></div></div><div class="ult-spacer spacer-6a392173b06ed" data-id="6a392173b06ed" data-height="20" data-height-mobile="20" data-height-tab="20" data-height-tab-portrait="20" data-height-mobile-landscape="20" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>When conducting any sort of temporal analysis, ARIMA is likely the first thing to try. <a href="https://www.megaputer.com/contact/">Request a free trial</a> of PolyAnalyst to try it out yourself.</p>

		</div>
	</div>
</div></div></div></div></div></section>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/what-is-time-series-analysis/">What is Time Series Analysis?</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>5 Things to Know about Linear Regression</title>
		<link>https://www.megaputer.com/5-things-linear-regression-models/</link>
		<pubDate>Wed, 29 Apr 2020 18:32:43 +0000</pubDate>
		<dc:creator><![CDATA[Chris Farris]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Prediction]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=32838</guid>
		<description><![CDATA[<p>Linear Regression is one of the simplest statistical models, but don’t let that fool you, Linear Regression is a powerful tool because of that simplicity. Using transformation and other techniques, Linear Regression models can model a wide range of dependencies in our data.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/5-things-linear-regression-models/">5 Things to Know about Linear Regression</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row type_default valign_top"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Before we get into talking about linear regression, you may recall that we recently have discussed advanced <a href="https://www.megaputer.com/choosing-machine-learning-models/" target="_blank" rel="noopener">machine learning techniques</a> such as <a href="https://www.megaputer.com/2019-news-neural-networks/" target="_blank" rel="noopener">neural networks</a> and support vector machines, but these are not always the most appropriate tool for modeling data. Machine Learning models are big, complicated, and almost impossible to interpret. While they have great capacity and are sometimes the only solution to difficult problems, their downsides can be substantial depending on what our goals are. Additionally, it is often the case that we want to understand our models or have some measures of how valid they are.</p>
<p>For example, the goal of a physicist may be to understand their model of a particle interaction. If they create a neural network to do this, we may have low error in the system but our human understanding of the laws of nature is no better. Likewise, an economist may be more concerned with understanding the general relationship between political uncertainty in elections, uncertainty in public policy, and uncertainty in financial markets, than creating a complex interactive system that prevents generalizations that could be applied to governance, electioneering, or market trading. So, for the time being, let us return from the vast jungles of machine learning to the tamed and comfortable community of traditional statistical models, the first of which will be linear regression.</p>
<h2><strong>What is Linear Regression?</strong></h2>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-8 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Linear regression is one of the simplest statistical models, but don’t let that fool you. It is a powerful tool because of that simplicity. Understanding linear regression starts with the name. A regression analysis is simply a method of estimating the relationship between a dependent variable and a set of independent variables. For example, given a set of data about childhood measurements like height, weight, gender, and so on, can we estimate the relationship between those variables and the dependent variable, which is the child’s height as an adult?</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_center"><div class="w-image-h"><img width="634" height="471" src="https://www.megaputer.com/wp-content/uploads/regession-icon.png" class="attachment-large size-large" alt="3D linear regression illustrative graph icon" srcset="https://www.megaputer.com/wp-content/uploads/regession-icon.png 634w, https://www.megaputer.com/wp-content/uploads/regession-icon-300x223.png 300w, https://www.megaputer.com/wp-content/uploads/regession-icon-600x446.png 600w" sizes="(max-width: 634px) 100vw, 634px" /></div></div><div class="ult-spacer spacer-6a392173b77b8" data-id="6a392173b77b8" data-height="" data-height-mobile="30" data-height-tab="" data-height-tab-portrait="" data-height-mobile-landscape="30" style="clear:both;display:block;"></div></div></div></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Why is it called “regression?” Mostly from tradition. The term originated many centuries ago and has stuck. You may have heard of the concept of “regression to the mean.” The concept is that data may divert from an expected “average” value, but over multiple observations, it will revert or “regress” to this expected value. For example, a tall person is likely to have children that are also tall, but probably less so. They will likely “regress” towards the average height rather than being taller than their parent.</p>
<p>Note that regression is modeling a numeric relationship. The output of the regression is a number. This is different from something like categorization, which outputs a class or label for the input data. The second part of the name is linear, referring to the fact that in linear Regression, we only care about <em>linear</em> relationships; our model is just going to be the sum of things.</p>

		</div>
	</div>

	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Let’s consider a simple example. Using the traditional Iris set of data, examine the relationship between the length of a flower’s sepal to the length of its petal for the Virginica variety. A Linear Regression would attempt to model the interaction between petal length and sepal length as a line of best fit.</p>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-4 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_right style_circle meta_simple"><div class="w-image-h"><img width="200" height="300" src="https://www.megaputer.com/wp-content/uploads/virginciairis_14950-266x400-200x300.jpg" class="attachment-medium size-medium" alt="VirginicaIrisFlower" srcset="https://www.megaputer.com/wp-content/uploads/virginciairis_14950-266x400-200x300.jpg 200w, https://www.megaputer.com/wp-content/uploads/virginciairis_14950-266x400.jpg 266w" sizes="(max-width: 200px) 100vw, 200px" /><div class="w-image-meta"><div class="w-image-title">Virginica Iris</div><div class="w-image-description">Wildflowerfarm.com</div></div></div></div><div class="ult-spacer spacer-6a392173b8e47" data-id="6a392173b8e47" data-height="20" data-height-mobile="20" data-height-tab="20" data-height-tab-portrait="20" data-height-mobile-landscape="20" style="clear:both;display:block;"></div></div></div></div><div class="vc_col-sm-8 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="ult-spacer spacer-6a392173b912f" data-id="6a392173b912f" data-height="20" data-height-mobile="10" data-height-tab="20" data-height-tab-portrait="20" data-height-mobile-landscape="10" style="clear:both;display:block;"></div><div class="w-image align_center"><div class="w-image-h"><img width="505" height="309" src="https://www.megaputer.com/wp-content/uploads/cblog1-e1583356791306.png" class="attachment-full size-full" alt="Virginica_Iris_Flower_Length_Chart" /></div></div></div></div></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>From the chart below, we can see there is a general linear trend in the data. As sepal length increases, petal length increases in a similar manner. Linear regression produces a linear equation which is the model of the system.</p>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>We can see the result of that regression plotted along with the data. The line is our model&#8217;s prediction of petal length for each sepal length. Of course, there will be some error because there is some variability in the data, but the fit generally describes the relationship well. The equation for this relationship is:</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="377" height="50" src="https://www.megaputer.com/wp-content/uploads/cblog3.png" class="attachment-full size-full" alt="LinearEq_Flower_Length" srcset="https://www.megaputer.com/wp-content/uploads/cblog3.png 377w, https://www.megaputer.com/wp-content/uploads/cblog3-300x40.png 300w" sizes="(max-width: 377px) 100vw, 377px" /></div></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="ult-spacer spacer-6a392173bb4db" data-id="6a392173bb4db" data-height="10" data-height-mobile="20" data-height-tab="10" data-height-tab-portrait="10" data-height-mobile-landscape="20" style="clear:both;display:block;"></div><div class="w-image align_center"><div class="w-image-h"><img width="505" height="310" src="https://www.megaputer.com/wp-content/uploads/cblog2-e1583356751617.png" class="attachment-full size-full" alt="Graph using linear regression showing Best Fit of Iris lengths" /></div></div></div></div></div></div><div class="ult-spacer spacer-6a392173bc11c" data-id="6a392173bc11c" data-height="10" data-height-mobile="10" data-height-tab="10" data-height-tab-portrait="10" data-height-mobile-landscape="10" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>This is a simple, interpretable form that is very useful for analysis and understanding. From the equation, we can say that for each additional centimeter of sepal length, we generally observe around 0.75 centimeters of additional petal length in a Virginica Iris.</p>
<h3><strong>How is a Linear Model Calculated?</strong></h3>

		</div>
	</div>

	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>By now you probably have guessed the general form of a linear regression. Our linear model is:</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="233" height="100" src="https://www.megaputer.com/wp-content/uploads/cblog4.png" class="attachment-full size-full" alt="Linear Regression Model equation" /></div></div><div class="ult-spacer spacer-6a392173bd097" data-id="6a392173bd097" data-height="10" data-height-mobile="10" data-height-tab="10" data-height-tab-portrait="10" data-height-mobile-landscape="10" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Our estimate for the target variable is expressed as a bias term or intercept plus a weighted sum of our input variables. This a nice linear form. But given some data, how can we create a such a model it? There are an infinite number of lines to choose from, so which is the best? We need a way to measure how good our model is. This is where the concept of error or “residuals” comes into play. For each data point, we want to measure how far from our prediction the actual data was. There are several methods for this, the most common of which is called Residual Sum of Squares (RSS). RSS is the sum of the squared residuals. A residual is the difference between the real value for our target variable and the predicted value. It is often asked why we don’t call these terms “errors” instead of “residuals”, particularly since the term &#8220;residual&#8221; seems more confusing and an excuse to use a fancy math term to sound important. Unfortunately, a full answer and explanation is beyond the scope of this article, but in short, the reason is that this difference is not actually an “error.” When creating a model, we are fully aware that there is some variance in the distribution of the target variable. The full linear model equation includes a noise term, which is a Gaussian of mean 0, with some standard deviation that is estimated by the model. Thus, “residuals” are measuring this noise, which is what remains after removing the deterministic aspect of our model. So, our RSS is:</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="268" height="109" src="https://www.megaputer.com/wp-content/uploads/cblog5.png" class="attachment-full size-full" alt="Residuals Sum Of Squares equation" /></div></div><div class="ult-spacer spacer-6a392173bde78" data-id="6a392173bde78" data-height="10" data-height-mobile="10" data-height-tab="10" data-height-tab-portrait="10" data-height-mobile-landscape="10" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Now that we have a measure of how our model performs, we can compare lines to choose the best one. RSS is a measure of how much variability there is in distance from our line. The best line would have the least RSS measure. Thus, to choose the line of best fit we must find this minimizing line. This sounds like a difficult task. How would we be able to find that line? We can’t test each line one by one because there are infinite lines to consider! The answer is we use a method called Ordinary Least Squares. Now at this point, we will simply wave our hands and assure you that calculus and some linear algebra will solve this problem for us algorithmically and we don’t need to worry about it.</p>
<h3><strong>How to Assess a Linear Model</strong></h3>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-9 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>We’ve seen how we can calculate the terms of a linear model using minimization of a residual equation, but this is not the end of the model building process. Unlike machine learning models, which have millions of parameters obscured in a network, each parameter of a linear regression model can be interrogated and analyzed. The regression model produces several metrics for use. First, there is the R<sup>2</sup> measure or the Coefficient of Determination. R<sup>2</sup> measures how much of the variance in the data is explained by the model. A value of 1 means that the model perfectly describes the data while a value of .5 suggests that only 50% of the variance across the data is explained in the model. The rest is unaccounted for. Obviously, the closer to 1 the R<sup>2</sup> value, the better.</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-3 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_left"><div class="w-image-h"><img width="470" height="648" src="https://www.megaputer.com/wp-content/uploads/r2-squared.png" class="attachment-large size-large" alt="R2 or R squared Icon" srcset="https://www.megaputer.com/wp-content/uploads/r2-squared.png 470w, https://www.megaputer.com/wp-content/uploads/r2-squared-218x300.png 218w" sizes="(max-width: 470px) 100vw, 470px" /></div></div></div></div></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Additionally, for each coefficient term in our model, we can calculate a p-value to determine if that estimation is statistically significant. If we encounter large p-values, we may question whether the inclusion of that variable into the model is a good idea. In those cases, the variable may not be useful and we can retry the model after discarding it. One technique is to gradually build a model by adding variables one at a time and testing to see if there is a statistically significant increase in model performance by the addition of the next variable. This technique is called AnoVa. Another method for testing our model is by analyzing the distribution of the residuals. Ideally, they should have a normal distribution and be homoscedastic; that is, they maintain roughly the same variance across the fitted values of the model and across the inputs to the model. We want the residuals to behave the same across our data because that indicates regular performance. We don’t want the model to suddenly be worse for some areas or be unpredictable.</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="7200" height="1080" src="https://www.megaputer.com/wp-content/uploads/anovameans-1.gif" class="attachment-full size-full" alt="ANOVA Means animation" /></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>While all this analysis is again beyond the scope presented here, it is important to understand that because of the simplicity of the linear regression model, these types of robust, interpretable, and well understood statistical analyses are possible. We can be intimately familiar with our linear models in ways that are impossible for more complex structures.</p>
<h3><strong>What Flexibility Exists in Linear Models?</strong></h3>
<p>The biggest weakness of linear regression is that it is only possible to model direct linear relationships. But there are many more types of relationships in the world that we would like to model. Luckily, there are very easy ways to inject non-linearity into linear regression. The first of which is <strong>transformations on our data</strong>. Instead of modeling our variables directly, it is very common to transform them first such as taking a logarithm of the values or some other Power transform. There may not be a linear relationship between our values directly, but there could be one between their logarithms. A model of this kind can be interpreted as saying an increase in the dependent variable by 1% implies an increase in the target variable by X%.</p>
<p>Another technique is to <strong>include squared terms</strong> of our variables into the model as well. We simply square our data and treat that square as another separate variable. Yet another technique is to use what are called <strong>interactions</strong>. These are treated as combinations of existing variables. For example, if we include Sex and Height into our model, we can include a term, <em>Sex:Height</em>, which is just the combination of the two. Essentially, this creates two new variables called <em>Male:Height</em>, which is the same as Height for males and 0 otherwise, and likewise for <em>Female:Height</em>. This interaction term can model the separate effects of Height for Males and Height for Females. Perhaps the Height term has more dramatic effects for Females than Males?</p>
<h3><strong>The Power of Linear Regression Models</strong></h3>
<p>Linear regression models are extremely popular across domains because of their robustness and simplicity. Because of transformation and other techniques, linear regression models can model a wide range of dependencies in our data. Because their form is well defined, unlike Neural Networks, they have statistical properties that we can analyze to compare models, make interpretations, and derive important information. Linear regression is not only useful for predictions, it can do what most machine learning models cannot – describe the system. If you have a numerical value you want to model, a relatively short list of independent variables to use, and a desire to understand the model you create, linear regression should usually be your first choice. Luckily, if you use <a href="https://www.megaputer.com/polyanalyst/pro/" target="_blank" rel="noopener">PolyAnalyst</a>, you have all of those options available to test and find out what works best for your data.</p>

		</div>
	</div>
</div></div></div></div></div></section>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/5-things-linear-regression-models/">5 Things to Know about Linear Regression</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Wide, Bulky Data and Dimensionality Reduction</title>
		<link>https://www.megaputer.com/bulky-data-dm-reduction/</link>
		<pubDate>Mon, 03 Feb 2020 17:46:31 +0000</pubDate>
		<dc:creator><![CDATA[Chris Farris]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[PolyAnalyst]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=32466</guid>
		<description><![CDATA[<p>The post <a rel="nofollow" href="https://www.megaputer.com/bulky-data-dm-reduction/">Wide, Bulky Data and Dimensionality Reduction</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row type_default valign_top"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-8 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>As the saying goes, “mo’ data, mo’ problems.” Well, that’s not quite the saying and that’s not quite what we mean, but it certainly is true that large data comes with some problems that need to be solved. There are two ways that data can be “big.” Traditionally, Big Data is considered large literally by its physical size in terms of the memory space it consumes. In this article, we&#8217;re considering another type of “big” data, which we like to call Wide Data. Wide Data is unstacked tabular data that consists of large amounts of columns or variables, usually in the hundreds and above. Wide Data and Big Data are often overlapping but they are not necessarily the same: for example, Wide Data can be shallow, with relatively small number of rows &#8211; but large number of columns. Wide Data is common and comes with its own set of problems that need to be addressed in any analytical setting. Next, let’s discuss those problems.</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="ult-spacer spacer-6a392173c4fbf" data-id="6a392173c4fbf" data-height="30" data-height-mobile="" data-height-tab="30" data-height-tab-portrait="" data-height-mobile-landscape="" style="clear:both;display:block;"></div><div class="w-image align_center"><div class="w-image-h"><img width="1024" height="947" src="https://www.megaputer.com/wp-content/uploads/blur-book-stack-books-bookshelves-590493-1024x947.jpg" class="attachment-large size-large" alt="BookStacksWide" srcset="https://www.megaputer.com/wp-content/uploads/blur-book-stack-books-bookshelves-590493-1024x947.jpg 1024w, https://www.megaputer.com/wp-content/uploads/blur-book-stack-books-bookshelves-590493-300x277.jpg 300w, https://www.megaputer.com/wp-content/uploads/blur-book-stack-books-bookshelves-590493-768x710.jpg 768w, https://www.megaputer.com/wp-content/uploads/blur-book-stack-books-bookshelves-590493-600x555.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div></div></div></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>The Problems of Wide Data</h2>
<p>One issue about wide Data is that it is bulky, and this presents challenges that aren&#8217;t present in more compact datasets. For example, a person can quickly scan a table of a few columns, maybe even a dozen or more, to summarize what it contains. That quick scan will tell a person what sort of information is contained there, determine if the data is sparse, and provide a rough estimate of the range and variance of the data. This sort of quick summarization is impossible with Wide Data. Even scrolling through column names (if they are informative at all) takes some time to do, and in the end, it is usually impossible to retain all that information.</p>
<p>Not only is Wide Data confusing for us humans, but it can also be confusing for machines as well if we have an especially large number of columns. If we want to <a href="https://www.megaputer.com/choosing-machine-learning-models/" target="_blank" rel="noopener">create a machine learning model with Wide Data</a>, our model might suffer from a complexity problem. A large number of inputs to some machine learning model can make the training of this model either unstable or time-consuming.</p>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-1/5 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_center style_circle vc_custom_1580319811131"><div class="w-image-h"><img width="768" height="768" src="https://www.megaputer.com/wp-content/uploads/5052-768x768.jpg" class="attachment-us_768_0 size-us_768_0" alt="Dimension Reduction" srcset="https://www.megaputer.com/wp-content/uploads/5052-768x768.jpg 768w, https://www.megaputer.com/wp-content/uploads/5052-150x150.jpg 150w, https://www.megaputer.com/wp-content/uploads/5052-300x300.jpg 300w, https://www.megaputer.com/wp-content/uploads/5052-1024x1024.jpg 1024w, https://www.megaputer.com/wp-content/uploads/5052-350x350.jpg 350w, https://www.megaputer.com/wp-content/uploads/5052-600x600.jpg 600w, https://www.megaputer.com/wp-content/uploads/5052.jpg 1200w" sizes="(max-width: 768px) 100vw, 768px" /></div></div></div></div></div><div class="vc_col-sm-4/5 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column  vc_custom_1580319869676">
		<div class="wpb_wrapper">
			<p>So, what to do? Large numbers of columns aren’t ideal for either humans or machines, but we don’t want to just throw out columns randomly to reduce the size of the data, as we could risk losing important data. <strong>The solution is dimensionality reduction</strong>, a common technique in data science. Dimensionality reduction will reduce the number of columns that we have in our data while minimizing any loss of information as a result. These techniques are extremely useful in cutting out the fat from data while retaining the value.</p>

		</div>
	</div>
</div></div></div></div><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="ult-spacer spacer-6a392173c8240" data-id="6a392173c8240" data-height="10" data-height-mobile="10" data-height-tab="10" data-height-tab-portrait="10" data-height-mobile-landscape="10" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>Dimensionality Reduction in PolyAnalyst™</h2>
<p>PolyAnalyst™ contains several built-in methods for performing dimensionality reduction. We&#8217;ll highlight a couple of these below.</p>
<p>The first method is <em>Data Simplification.</em> This process scans data to identity columns that are nearly uniform. A column with almost no variation is very uninformative and could be dropped entirely. Additionally, Data Simplification compares the columns with one another to see if there are any that are nearly identical. These columns can be triaged so that only one remains in the dataset to avoid unnecessary duplication. In addition to Data Simplification, Correlation Analysis can be performed to discover correlated variables. While not identical, strongly correlated variables serve a common purpose and we could consider cutting down to one in this case as well.</p>
<p>The second method is <em>Factor Analysis</em>, which includes techniques such as principal component analysis. The goal of this method is to find the vectors along which most of the variance occurs in the data, reorient the data along those vectors, and discard the vectors in which little variance occurs. This is best understood with an animation.</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="713" height="450" src="https://www.megaputer.com/wp-content/uploads/ezgif-com-crop.gif" class="attachment-full size-full" alt="DimensionReduction_PCV" /></div></div><div class="ult-spacer spacer-6a392173c9212" data-id="6a392173c9212" data-height="15" data-height-mobile="15" data-height-tab="15" data-height-tab-portrait="15" data-height-mobile-landscape="15" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>In this example, we have measured and plotted only two variables—height and weight. We can see the direction along which most of the variance occurs. This is the principal component. Now we rotate our data such that this direction is our horizontal axis and the orthogonal direction is the vertical axis. This destroys the semantic meaning of these axes of course, but this not a big deal. Where they were once semantically width and height, they now hold no such meaning. We will be able to regain the meaning after performing the analysis in the smaller number of dimensions and rotating the results back to the original axes. Now, if we would like to shrink the size of our data, we can throw out the vertical axis, which exhibits little variance. Thus, we have eliminated an entire variable but preserved the majority of the useful information, which simplifies further analysis.</p>
<h2>Stay tuned&#8230;</h2>
<p>Wide, bulky data is fairly common in the world, and although it comes with some problems, these can be managed with the techniques described here, such as Factor Analysis and Data Simplification. Once our data is manageable, <a href="https://www.megaputer.com/solutions/">PolyAnalyst has a wide range of modeling solutions</a>. Stay tuned for more discussions about data analysis!</p>

		</div>
	</div>
</div></div></div></div></div></div></div></div></div></section>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/bulky-data-dm-reduction/">Wide, Bulky Data and Dimensionality Reduction</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>How to Audit and Explore Datasets in PolyAnalyst</title>
		<link>https://www.megaputer.com/exploratory-analysis-in-pa/</link>
		<pubDate>Wed, 22 Jan 2020 14:00:43 +0000</pubDate>
		<dc:creator><![CDATA[Kathryn Verhoeven]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Data Mining]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=32439</guid>
		<description><![CDATA[<p>Exploratory data analysis is regarded as an important step in data mining methodologies. Learn some tips on performing exploratory data analysis using PolyAnalyst.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/exploratory-analysis-in-pa/">How to Audit and Explore Datasets in PolyAnalyst</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row type_default valign_top"><div class="vc_col-sm-5 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_center"><div class="w-image-h"><img width="600" height="376" src="https://www.megaputer.com/wp-content/uploads/analysis-close-up-coffee-1179800-600x376.jpg" class="attachment-shop_single size-shop_single" alt="Analysis_and_coffee" srcset="https://www.megaputer.com/wp-content/uploads/analysis-close-up-coffee-1179800-600x376.jpg 600w, https://www.megaputer.com/wp-content/uploads/analysis-close-up-coffee-1179800-300x188.jpg 300w, https://www.megaputer.com/wp-content/uploads/analysis-close-up-coffee-1179800-1024x642.jpg 1024w, https://www.megaputer.com/wp-content/uploads/analysis-close-up-coffee-1179800-768x481.jpg 768w" sizes="(max-width: 600px) 100vw, 600px" /></div></div></div></div></div><div class="vc_col-sm-7 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Suppose you just obtained a fresh new set of data. You might know what it’s generally about, but the only way you can know what hypotheses to test (and what analysis challenges you’re up against) is to explore the data and audit its overall quality. Unless you can see the basic overview of what you’re dealing with, you won’t be able to determine the most appropriate models to build or develop a strategy for handling challenges such as outliers and missing values.</p>

		</div>
	</div>
</div></div></div></div></div></section><section class="l-section wpb_row height_small"><div class="l-section-h i-cf" style="padding-top: 0px !important;"><div class="g-cols vc_row type_default valign_top"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>For these reasons, exploratory data analysis is regarded as an important step in data mining methodologies.</p>
<h2>What is exploratory data analysis?</h2>
<p>The overarching concept of exploratory data analysis (EDA) was first advocated by John Tukey. His foundational work on EDA, published in the late 1970s, championed the idea of assessing the data before rushing into testing hypotheses and building models. Since that time, EDA has become an integral part of data mining methodologies, including CRISP-DM, KDD, and SEMMA. The goal of EDA is to get an overall feel for the data you’re about to spend time analyzing so that you can better address the key analysis questions and objectives.</p>
<h4>Specifically, some of the key purposes of exploratory analysis include:</h4>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-1 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"></div></div></div><div class="vc_col-sm-11 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<ul>
<li>Obtaining an overview of the data
<ul>
<li>Discover patterns</li>
<li>Frame hypotheses</li>
<li>Check assumptions</li>
</ul>
</li>
<li>Gathering general statistical information about the data
<ul>
<li>Distribution</li>
<li>Key statistics (mean, median, range, standard deviation, etc.)</li>
</ul>
</li>
<li> Detecting data anomalies
<ul>
<li>Outliers</li>
<li>Missing Data</li>
</ul>
</li>
</ul>

		</div>
	</div>
</div></div></div></div><div class="ult-spacer spacer-6a392173d1352" data-id="6a392173d1352" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Graphical visualization methods comprise the majority of EDA techniques, but non-graphical quantitative measures are just as important to incorporate. More information on specific EDA techniques is available from sources such as this <a href="https://www.itl.nist.gov/div898/handbook/eda/section1/eda11.htm">handbook</a> from the NIST Information Technology Laboratory.</p>
<h2>Exploratory analysis using PolyAnalyst</h2>
<p>Users of PolyAnalyst know that the system comes with a wide variety of analysis features for handling structured data as well as text. And for basic EDA, the system’s data loading nodes automatically provide a convenient view of the overall data patterns from a univariate perspective.</p>
<p>For example, if we load an example dataset containing car data, the analyst can obtain a basic overview of the dataset variables and the data types by viewing the data in tabular form.</p>

		</div>
	</div>
<div class="w-image align_center style_outlined"><div class="w-image-h"><img width="1024" height="478" src="https://www.megaputer.com/wp-content/uploads/eda_data-tab-1024x478.jpg" class="attachment-large size-large" alt="EDA_data tab" srcset="https://www.megaputer.com/wp-content/uploads/eda_data-tab-1024x478.jpg 1024w, https://www.megaputer.com/wp-content/uploads/eda_data-tab-300x140.jpg 300w, https://www.megaputer.com/wp-content/uploads/eda_data-tab-768x359.jpg 768w, https://www.megaputer.com/wp-content/uploads/eda_data-tab-600x280.jpg 600w, https://www.megaputer.com/wp-content/uploads/eda_data-tab.jpg 1374w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div><div class="ult-spacer spacer-6a392173d2821" data-id="6a392173d2821" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>In the Statistics tab of a dataset node, the various statistics for each variable are presented for quick assessment of data anomalies, such as outliers and missing data. For example, in the car data, we can see the mean, median, range, and standard deviation of the Power variable, and we observe that there are 6 missing values.</p>

		</div>
	</div>
<div class="w-image align_center style_outlined"><div class="w-image-h"><img width="1024" height="495" src="https://www.megaputer.com/wp-content/uploads/eda_stats-tab-1024x495.jpg" class="attachment-large size-large" alt="EDA_stats tab" srcset="https://www.megaputer.com/wp-content/uploads/eda_stats-tab-1024x495.jpg 1024w, https://www.megaputer.com/wp-content/uploads/eda_stats-tab-300x145.jpg 300w, https://www.megaputer.com/wp-content/uploads/eda_stats-tab-768x371.jpg 768w, https://www.megaputer.com/wp-content/uploads/eda_stats-tab-600x290.jpg 600w, https://www.megaputer.com/wp-content/uploads/eda_stats-tab.jpg 1346w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div><div class="ult-spacer spacer-6a392173d388f" data-id="6a392173d388f" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Finally, the Distinct tab lists all the unique values a selected variable has within the dataset along with the relative percentage distribution among those values. In the case of the example car data, we can view all the Year values for the cars in the dataset as well as their relative distribution.</p>

		</div>
	</div>
<div class="w-image align_center style_outlined"><div class="w-image-h"><img width="1024" height="498" src="https://www.megaputer.com/wp-content/uploads/eda_distinct-tab-1024x498.jpg" class="attachment-large size-large" alt="EDA_distinct tab" srcset="https://www.megaputer.com/wp-content/uploads/eda_distinct-tab-1024x498.jpg 1024w, https://www.megaputer.com/wp-content/uploads/eda_distinct-tab-300x146.jpg 300w, https://www.megaputer.com/wp-content/uploads/eda_distinct-tab-768x373.jpg 768w, https://www.megaputer.com/wp-content/uploads/eda_distinct-tab-600x292.jpg 600w, https://www.megaputer.com/wp-content/uploads/eda_distinct-tab.jpg 1344w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div><div class="ult-spacer spacer-6a392173d4b11" data-id="6a392173d4b11" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>PolyAnalyst’s built-in EDA tools</h2>
<p>From the basic overview provided in any PolyAnalyst data node, we can begin to formulate a plan for how to proceed with data cleansing and analysis. And to compare sets of variables against each other for a bivariate (or multivariate) analysis, the various chart nodes (such as bar charts and scatter plots) are very quick to set up and view relationships among variables. But there are a few additional built-in tools in PolyAnalyst for EDA that are worth highlighting, such as the Data Audit node and the Distribution Analysis node.</p>
<p>Let’s now go over these tools briefly and see how they work.</p>
<h3>Data Audit Node</h3>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-2 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="ult-spacer spacer-6a392173d55c7" data-id="6a392173d55c7" data-height="20" data-height-mobile="" data-height-tab="20" data-height-tab-portrait="" data-height-mobile-landscape="" style="clear:both;display:block;"></div><div class="w-image align_center vc_custom_1579640174583"><div class="w-image-h"><img width="119" height="111" src="https://www.megaputer.com/wp-content/uploads/dataaudit_snipp-1.png" class="attachment-large size-large" alt="Data_Audit_Node_Snipp_2308" /></div></div></div></div></div><div class="vc_col-sm-10 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>In PolyAnalyst, the Data Audit node is a built-in tool for exploring your data. It is useful when first examining a new dataset and provides lots of information you can quickly scan to gain preliminary insights into your dataset. This node serves as a summarization node, so it does not connect up to additional downstream analysis nodes in the project script. Its main purpose is to guide your decision making on how to cleanse, prepare, and analyze your data.</p>

		</div>
	</div>
</div></div></div></div><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>The node settings allow you to specify which columns (i.e., variables) to analyze and whether or not to perform both summary statistics and anomaly detection. The resulting report shows a synopsis of the statistics and anomaly metrics, which are useful to consider prior to applying a predictive model or classification model.<br />
Here’s an example of the node output when analyzing a crime data example dataset, which lists the date, district, category, and description of various crime reports:</p>

		</div>
	</div>
<div class="w-image align_center"><div class="w-image-h"><img width="1024" height="493" src="https://www.megaputer.com/wp-content/uploads/eda_data-audit2-1024x493.jpg" class="attachment-large size-large" alt="EDA_data audit2" srcset="https://www.megaputer.com/wp-content/uploads/eda_data-audit2-1024x493.jpg 1024w, https://www.megaputer.com/wp-content/uploads/eda_data-audit2-300x144.jpg 300w, https://www.megaputer.com/wp-content/uploads/eda_data-audit2-768x370.jpg 768w, https://www.megaputer.com/wp-content/uploads/eda_data-audit2-600x289.jpg 600w, https://www.megaputer.com/wp-content/uploads/eda_data-audit2.jpg 1350w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div><div class="ult-spacer spacer-6a392173d8595" data-id="6a392173d8595" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>The data audit output report consists of multiple tabs that assess the data for anomalies, arranged according to the data type (i.e., categorical, numerical, text). Summary statistics for each variable are also listed in the report under different tabs. In the example above, the system has identified and presented in the lower pane three potentially anomalous records with dates outside of the expected range covering the vast majority of records (years 1997-2005).</p>
<h3>Distribution Analysis Node</h3>

		</div>
	</div>
<div class="ult-spacer spacer-6a392173d8886" data-id="6a392173d8886" data-height="15" data-height-mobile="15" data-height-tab="15" data-height-tab-portrait="15" data-height-mobile-landscape="15" style="clear:both;display:block;"></div></div></div></div></div><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-3 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="ult-spacer spacer-6a392173d8e4d" data-id="6a392173d8e4d" data-height="20" data-height-mobile="" data-height-tab="20" data-height-tab-portrait="" data-height-mobile-landscape="" style="clear:both;display:block;"></div><div class="w-image align_center vc_custom_1579640879795"><div class="w-image-h"><img width="229" height="119" src="https://www.megaputer.com/wp-content/uploads/distributionanalysis_snipp.png" class="attachment-large size-large" alt="Distribution_Analysis_Node_2308" /></div></div></div></div></div><div class="vc_col-sm-9 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>The Distribution Analysis node in PolyAnalyst is a helpful tool for analyzing trends and distributions of numerical data values in a dataset. Along with calculating statistical characteristics, the node recognizes distributions (normal, exponential, double exponential, log-normal, and uniform), performs general hypothesis testing,</p>

		</div>
	</div>
</div></div></div></div><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>and groups variables based on those tests. When setting up this node, the user can specify which variables to analyze, as well as the significance levels, tail properties, and other parameters of the statistical tests to be performed.</p>
<p>The resulting report contains a list of the statistical tests that have been conducted as well as their results. The output report will also show information like the fitted distributions and labeled tails, which can later be appended as a separate column to the original dataset. The Distribution Analysis node also conveniently connects to other analysis nodes to pass its results to predictive modeling and machine learning.</p>
<p>Let’s see how this works using the car data from our earlier example:</p>

		</div>
	</div>
</div></div></div></div><div class="w-image align_center style_outlined"><div class="w-image-h"><img width="1024" height="464" src="https://www.megaputer.com/wp-content/uploads/distribanal1-1024x464.jpg" class="attachment-large size-large" alt="distribanal1" srcset="https://www.megaputer.com/wp-content/uploads/distribanal1-1024x464.jpg 1024w, https://www.megaputer.com/wp-content/uploads/distribanal1-300x136.jpg 300w, https://www.megaputer.com/wp-content/uploads/distribanal1-768x348.jpg 768w, https://www.megaputer.com/wp-content/uploads/distribanal1-600x272.jpg 600w, https://www.megaputer.com/wp-content/uploads/distribanal1.jpg 1409w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div><div class="ult-spacer spacer-6a392173dba9d" data-id="6a392173dba9d" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>The distribution analysis performed here was set up to analyze the patterns for the MPG variable in data records representing individual cars, grouped by a car’s Origin (i.e., Europe, Japan, USA). The resulting report displays the MPG distribution type for each Origin group along with other statistics in the top table. By highlighting a specific Origin group (e.g., Europe), the user can view the test parameter information that resulted in assigning this sample a log-normal distribution.</p>
<p>On the summary tab, a fitted distribution chart is displayed for the selected subset. For example, if we select the Europe subset, we can see the log-normal curve fitting of the data.</p>

		</div>
	</div>
<div class="w-image align_center style_outlined"><div class="w-image-h"><img width="1024" height="470" src="https://www.megaputer.com/wp-content/uploads/distribanal2-1024x470.jpg" class="attachment-large size-large" alt="distribanal2" srcset="https://www.megaputer.com/wp-content/uploads/distribanal2-1024x470.jpg 1024w, https://www.megaputer.com/wp-content/uploads/distribanal2-300x138.jpg 300w, https://www.megaputer.com/wp-content/uploads/distribanal2-768x353.jpg 768w, https://www.megaputer.com/wp-content/uploads/distribanal2-600x275.jpg 600w, https://www.megaputer.com/wp-content/uploads/distribanal2.jpg 1407w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div><div class="ult-spacer spacer-6a392173dd2c2" data-id="6a392173dd2c2" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Conveniently, the information obtained from the distribution analysis can be scored against the dataset to create an additional column. For example, in the image below we can see the scored values for MPG significance (blue box) and status (red box) from our distribution analysis appended to the car dataset, which can be useful for analyzing anomalies (marked by the system as belonging to either the upper or lower Tails of the identified distribution).</p>

		</div>
	</div>
<div class="w-image align_center style_shadow-1"><div class="w-image-h"><img width="688" height="429" src="https://www.megaputer.com/wp-content/uploads/distribanal3.jpg" class="attachment-large size-large" alt="distribanal3" srcset="https://www.megaputer.com/wp-content/uploads/distribanal3.jpg 688w, https://www.megaputer.com/wp-content/uploads/distribanal3-300x187.jpg 300w, https://www.megaputer.com/wp-content/uploads/distribanal3-600x374.jpg 600w" sizes="(max-width: 688px) 100vw, 688px" /></div></div><div class="ult-spacer spacer-6a392173de768" data-id="6a392173de768" data-height="30" data-height-mobile="30" data-height-tab="30" data-height-tab-portrait="30" data-height-mobile-landscape="30" style="clear:both;display:block;"></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>Keep in mind, however, that these PolyAnalyst’s built-in EDA tools are only a couple of techniques that can be employed when assessing data quality. There are, of course, more analysis features in PolyAnalyst that analysts can use to conduct EDA. You can check out this page for more information on the types of <a href="https://www.megaputer.com/polyanalyst/">analysis nodes and capabilities in PolyAnalyst</a>. Feel free to contact us for a live demo of these features if you’re interested in learning more.</p>

		</div>
	</div>
</div></div></div></div></div></section>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/exploratory-analysis-in-pa/">How to Audit and Explore Datasets in PolyAnalyst</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What&#8217;s the News with Neural Networks?</title>
		<link>https://www.megaputer.com/2019-news-neural-networks/</link>
		<pubDate>Tue, 28 May 2019 18:10:03 +0000</pubDate>
		<dc:creator><![CDATA[Chris Farris]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Data Mining]]></category>
		<category><![CDATA[Machine Learning]]></category>
		<category><![CDATA[Neural Networks]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=31864</guid>
		<description><![CDATA[<p>There are many reasons for the explosion of machine learning advancements over the past decade. We now have vastly improved hardware for fast computation, and memory is cheaper than ever. Individually, these advancements are already a blessing for the technology-space. But for AI, they have opened the gates for something truly powerful—Neural Networks.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/2019-news-neural-networks/">What&#8217;s the News with Neural Networks?</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row type_default valign_top"><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>There are many reasons for the explosion of machine learning advancements over the past decade. We now have vastly improved hardware for fast computation, and memory is cheaper than ever. Data is now “Big Data,” and it is both jealously hoarded and publicly available in repositories such as ImageNet. Individually, these advancements are already a blessing for the technology-space. But for artificial intelligence (AI), they have opened the gates for something truly powerful—Neural Networks.</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_none"><div class="w-image-h"><img width="1024" height="611" src="https://www.megaputer.com/wp-content/uploads/shutterstock_592921421-1024x611.jpg" class="attachment-large size-large" alt="" srcset="https://www.megaputer.com/wp-content/uploads/shutterstock_592921421-1024x611.jpg 1024w, https://www.megaputer.com/wp-content/uploads/shutterstock_592921421-300x179.jpg 300w, https://www.megaputer.com/wp-content/uploads/shutterstock_592921421-768x459.jpg 768w, https://www.megaputer.com/wp-content/uploads/shutterstock_592921421-600x358.jpg 600w" sizes="(max-width: 1024px) 100vw, 1024px" /></div></div></div></div></div></div>
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<h2>Neural Whatnow?</h2>
<p>Neural Networks. You’ve probably heard of them. They are at the forefront of <a href="https://www.megaputer.com/an-introduction-to-machine-learning/" target="_blank" rel="noopener">the machine learning craze</a> and are the driver of many of the most impressive advancements. The technology that led machines to the best humans in <em>Go</em> and the popular video game <em>Starcraft?</em> Neural Networks. The backbone of algorithms that can recognize images and faces, which are igniting a surveillance and privacy panic? Neural Networks.</p>
<p>And yet, Neural Networks aren’t some new idea spawned from the incubator of a giant tech company. They aren’t some stroke of genius from a college student turned dropout who went on to found a revolutionary tech firm. Neural Networks are in fact… old hat. Or they were.</p>
<p>The concept of a Neural Network (something we will get to later) has been around for years. They date back to the 1970s, and simpler versions of them existed even in the 1940s! So, if they have existed for decades, why are they only popular now?</p>
<p>The answer is related to the hardware and data advancements mentioned earlier. Neural Networks crunch a lot of numbers. They also need a lot of data to help them learn. Up until the past decade, this made training anything but the simplest networks highly time-consuming and expensive.</p>
<p>With all the great improvements to hardware over the years, the possibility of using more advanced Neural Networks became possible. Aided by hardware demands from the entertainment industry and now cryptominers, GPUs (graphical processing units) have been developed which can calculate specific mathematical operations at lightning speed. Luckily, these same kinds of operations occur in training neural networks. Using the technology originally developed for beautiful visuals in film and video games helps us train networks at a fraction of the time it takes a traditional CPU.</p>
<p><strong><img class="aligncenter wp-image-32241" src="https://www.megaputer.com/wp-content/uploads/neural-network-diagram.png" alt="neural-network-diagram" width="571" height="464" /></strong></p>
<h2>What’s in a Name?</h2>
<p>The power of Neural Networks may be evident, but at this point, one may also be wondering what they are in the first place. The name gives some clues. A Neural Network isn’t a singular object that makes decisions by itself. It is, as implied, a network of smaller objects all connected. A network of what, then? We call them Neurons. Neurons as in the cells inside our brains? Yes! Well, no. But sort of!</p>
<p>Neurons in Neural Networks can be thought of as being like the neurons in brains. They are tiny, individual units that are connected to other neurons in a large, structured network. These connections allow tiny pieces of data to flow between them. In our brains, these are electrical pulses. In the Neural Network, we send numbers between Neurons. The Neurons then take all the numbers fed to them by the Neurons they are connected to and process them. The process isn’t complicated—in fact, it is painfully trivial. After all, it is just a tiny unit—a single cell in our brain. But it then sends the processed information out to other Neurons it is connected to. Another number. Another electrical pulse. And so on. Tiny Neurons are fed tiny pieces of information, perform tiny pieces of computation on that snippet, and feed it forward to other Neurons, which do the same over and over until we eventually reach a final set of Neurons—the output of which is our final result.</p>
<p>From the collective effort of many small individual units networked together in a perfectly calibrated balance, we can achieve enormous computational power. The Whole is greater than the Sum of its parts.</p>
<p>&nbsp;</p>
<h2>Balancing Act</h2>

		</div>
	</div>
<div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-8 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>If that all sounded magical and farfetched, then don’t worry—it is. How exactly are we supposed to arrange these Neurons in such a perfect balance that their combined minuscule computations lead to a machine recognizing human faces? We can’t. So how do we get this to work? Well, we are talking about Machine Learning after all. And Machine Learning is how we are going to solve this. We aren’t going to calibrate the Neurons to be in balance. They are going to calibrate themselves.</p>

		</div>
	</div>
</div></div></div><div class="vc_col-sm-4 wpb_column vc_column_container has-fill"><div class="vc_column-inner  vc_custom_1559659942631"><div class="wpb_wrapper">
	<div class="wpb_text_column  vc_custom_1584549868207">
		<div class="wpb_wrapper">
			<blockquote><p>
We aren’t going to calibrate the Neurons to be in balance. They are going to calibrate themselves.
</p></blockquote>

		</div>
	</div>
</div></div></div></div><div class="g-cols wpb_row type_default valign_top vc_inner "><div class="vc_col-sm-12 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>In order to achieve this, we need training data. We need data that is labeled with the desired output we want from the machine. We can provide this data to the unconfigured Neural Network. It will process the data and likely output something nonsensical and useless. But this is fine. We can use a mathematical function called Error. This Error is just a measurement of how different our output was from our desired targets. Then, using Calculus,we can discover how much of that Error is caused by the calibration of each one of our Neurons! Using this information, we can then tune the Neurons slightly and repeat the process—feed data into the Network, observe the output, calculate the Error, and use Calculus to know how to tune the Neurons to make them more accurate. This process continues over time until we have converged to a calibrated Network. This process of using Error functions, Calculus, and tuning is what Machine Learning is.</p>
<p>&nbsp;</p>
<h2>Power at a Price</h2>
<p>Although it is conceptually simple (at least in this explanation that ignores the details), it is very resource intensive. At the moment I am fine tuning a Neural Network on my own desktop to recognize Western Art styles. Although the dataset is only a few GB, it takes almost an hour to run a single iteration of the training. It will take nearly two days to complete the 50-iteration learning schedule I planned. And even then, I may need to schedule another one if the Network still needs to learn more! And I’m not running this on some dusty machine I dragged out of the aughts. This is an almost brand-new desktop powered with a 3.7 GHz AMD Rhyzen 8-core processor with 32GB of RAM available and virtually no other load on the machine.</p>
<p>Neural Networks are expensive to train. If you want to increase performance, you could pay for an expensive GPU, but that might set you back nearly a thousand dollars. Companies and research institutions may have the funds to throw at this problem, but individuals, small companies, and small research groups may not. Luckily, they don’t need to anymore.</p>
<p>Cloud services have opened access to remote processing to provide other computing options to those desiring to train a Neural Network. Don’t have an expensive rig? No worries, just rent one remotely from Google at a fraction of the price.</p>
<p>&nbsp;</p>
<h2>Neurally Networked World</h2>
<p>Neural Networks are here and they aren’t leaving. New advancements and computing architectures are constantly being published. <a href="https://www.megaputer.com/convolutional-neural-networks-polyanalyst/" target="_blank" rel="noopener">Convolutional Networks</a> are good at processing images and Recurrent Networks can handle variable sized data, streaming data, or sequential data. Neural Networks are powerful, indeed—far more so than other solutions we have. But they don’t mimic what is really occurring in our brains. There are some deep flaws even in our most advanced networks. For instance, it is extremely easy to confuse a Neural Network. A Network designed to recognize stop signs can be fooled by a few well-placed stickers on a sign. There are deep safety concerns if these are going to be used in self-driving cars for example.</p>
<p><a href="https://www.megaputer.com/an-introduction-to-machine-learning/" target="_blank" rel="noopener">Neural Networks are deeply dependent on the data used to train them</a> (just as we discussed in a previous article). They are also dependent on how we configure their output. Most networks are designed to give a decision. For object detection, the network must return what it thinks the input image is. But what happens when we feed the network “nothing,” such as a completely blank image or fuzzy static noise? The network is forced to return something so it “sees,” say, a dog in the empty space. This is nonsense. Why would it choose one object over another in these cases where a human would just refuse to rigidly define nonsense? As another example, if we slightly alter an image by inserting some imperceptibly small random noise, we can completely trick a Neural Network. Where it before correctly thought that the image was a butterfly, it now thinks the image is a truck, while a human sees no difference in the images. This is bad, and it reflects deep issues with Neural Networks as we construct them today.</p>
<p>Neural Networks are occupying a liminal space. They are simultaneously scarily powerful and laughably simple and ignorant. They can best the human masters and yet be duped by the smallest of changes. We won’t be seeing Neural Networks achieve human-like sentience any time soon, and they aren’t ready for deployment in many other types of systems. But they are already being used in ways that should cause alarm.</p>
<p>China is already using facial recognition technology to tag members of the Uighur ethnic minority group.  Accurate voice recognition ensures individuals could potentially be tracked even if they are not near a camera by turning the phones in our pockets into monitoring devices. “Deep Fakes” are a growing type of video that can modify existing videos to map one person’s face and voice over another’s to create a fake video that could be used for blackmail or disinformation. While <em>Terminator</em> remains science-fantasy, armed military drones using neural networks for stabilization, navigation, targeting, and tactics would revolutionize armed conflicts in ways impossible to predict.</p>
<p>Though neural networks are being used to oppress in some places they are also being used to save in others. Medical facilities increasingly deploy network systems to detect ailments such as cancer or infectious diseases. Laboratories can use similar networks for modeling complex biomolecules and developing treatments. Neural networks are even being used in traffic light control systems to increase vehicle flow and reduce accidents.</p>
<p>Where will Neural Networks take us next? It&#8217;s hard to say. But it seems evident that the world is caught and will remain in a web of Neurons.</p>

		</div>
	</div>
</div></div></div></div></div></div></div></div></div></section>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/2019-news-neural-networks/">What&#8217;s the News with Neural Networks?</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>An introduction to machine learning</title>
		<link>https://www.megaputer.com/an-introduction-to-machine-learning/</link>
		<pubDate>Fri, 15 Feb 2019 18:58:52 +0000</pubDate>
		<dc:creator><![CDATA[Chris Farris]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Big Data]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Machine Learning]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=31431</guid>
		<description><![CDATA[<p>Machine Learning is hot right now. Really hot. And it’s come a long way from where it was over two decades ago. Machine Learning is here, and it's here to stay, but what exactly is Machine Learning? </p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/an-introduction-to-machine-learning/">An introduction to machine learning</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p><img class="wp-image-31506 alignright" src="https://www.megaputer.com/wp-content/uploads/mlblog-mainimage.jpg" alt="" width="431" height="281" />Machine Learning is hot right now. Really hot. And it&#8217;s come a long way from where it was over two decades ago. In 1996, IBM’s Deep Blue defeated world chess champion Garry Kasparov. This was a great achievement to mark the progress of the field, but chess is a relatively simple task and computers still struggled to be able to master more difficult tasks for another decade. Then, in the late aughts, machine learning started to boom like never before. In 2011, IMB’s Watson utilized live simultaneous natural language processing with information retrieval to defeat two <em>Jeopardy!</em> champions. In 2016, Google’s AlphaGo defeated Lee Sedol, who is claimed by many to be the strongest Go player in history. Despite the simplicity of Go’s rules, the game is extraordinarily complex. For perspective, there are more possible configurations of a Go board than there are atoms in the universe—and by this measure, Go is a googol more complicated than chess. To really appreciate the magnitude of this, consider that a googol (10<sup>100</sup>) is written as one followed by one hundred zeros, and the ratio of an electron (a sub-atomic particle) to the entire known universe is only 0.00000001% of a googol.  It is a mind-boggling large number beyond human comprehension. And in a handful of years, machine learning has advanced by that scale.</p>
<p>Recently, a program called AlphaStar learned virtually on its own how to play and master the wildly popular and challenging competitive real-time strategy video game <em>StarCraft II</em>. <em>StarCraft II</em> is so competitive that human players actually perform physical exercises with their fingers so that their reflexes are honed in order to strike the right keys as fast as possible. While Go merely involves placing pebbles on a grid, <em>StarCraft II</em> involves economic resource management, strategic combined arms combat, exploration, extensive future planning, processing streams of real-time information, and making rapid decisions.</p>
<p><strong>Applications of Machine Learning</strong></p>
<p>Machine Learning often gets flashy coverage when it reaches milestones in games, but it has slowly crept into our daily lives in ways we may not think about. When we post pictures on social media platforms like Facebook, our faces are instantly recognized and names are suggested of who to tag. When we watch movies or shows on platforms like Netflix, we get an endless stream of recommendations based on our past behavior. This same structure exists on the online shopping market such as Amazon. And it&#8217;s common for Apple’s Siri, Amazon’s Alexa, and Google’s Assistant to live in our homes and understand our requests.</p>
<p>Machine Learning is here to stay. And with Machine Learning technology sprinting into the future, everyone wants in. Companies are rapidly creating or bolstering existing analytics departments to utilize the craze. Unfortunately, like many hyped technologies, “Machine Learning” as a phrase can devolve into jargon, buzz words, oversimplifications, misnomers, and a lot of confusion. To many, Machine Learning is a mystery that seems indifferentiable from sorcery.</p>
<p><strong>What is Machine Learning?</strong></p>
<p>Machine Learning, like Artificial Intelligence, suffers from a name that tends to get bogged down in philosophy and pedantry. What does it mean to “learn?” What does it mean to hold “intelligence?” There is a good deal of discussion amongst computer scientists and others about this, but for our purpose it is just a rabbit hole. In fact, it is best to throw out our human conceptions of what “learn” and “intelligence” mean because they only add a biased expectation.</p>
<p>So, then, what is Machine Learning? In it’s simplest form, Machine Learning is essentially making a computer learn a complicated task by having the computer teach itself. We merely provide the computer some examples of how to do something, and the computer learns from those examples to help us fill in the holes and solve complex problems.</p>
<p>Now let&#8217;s break this process down. First, it is useful to identify our goals. Almost always, we would like to classify (assign discrete labels), perform regression (predict numerical values) on, or cluster (group similar things together) our data. For example, we could classify faces by if they are smiling or not. We could perform regression on weather data to predict tomorrow’s temperature. We could cluster stars together by grouping them based on how hot and bright they are.</p>
<p>Now that we have a goal in mind, the question is by what method can we achieve this task? This is the “model.” Think of a model as a machine that you feed data into and which spits out classes, a regression, or clusters of that data. How do we build the model? Before Machine Learning, you would have to manually figure this out. This would involve having to draw specific blueprints for the machine, figure out the appropriate size of gears and their exact positions, assemble the machine, and test it.</p>
<p>In this analogy, Machine Learning is like building a special type of machine. This machine has gears that can change size and position. Also, if you provide the machine with the desired output, it can run data through itself and check the resulting output with this desired output. If they don’t match, the machine knows how to change the size and position of the gears to make it more likely to be correct in the future. And it can repeat this over and over again until it is has found the best arrangement of gears. This is essentially Machine Learning, and all it took was having a special device and labeled data it could look at. No human was needed to tell it where to place the gears.</p>
<p>This is just an analogy, but it works very similarly in our digital space. We construct a digital model that is parameterized by certain variables. We feed training data labeled by the desired output into the model and see the actual output. We then compare the actual output to the labels, which is our desired output. We note the error and use math to compute in what direction and by how much we should tweak the parameters of the model. And repeat. The machine doesn’t make decisions or figure out concepts on its own. It is programmed to use Calculus, Information Theory, Probability, and Statistics to calculate numbers to fudge the parameters by.</p>
<p><img class="aligncenter size-full wp-image-31514" src="https://www.megaputer.com/wp-content/uploads/machine-learning-process-diagram-1.jpg" alt="machine learning processs" width="554" height="502" srcset="https://www.megaputer.com/wp-content/uploads/machine-learning-process-diagram-1.jpg 554w, https://www.megaputer.com/wp-content/uploads/machine-learning-process-diagram-1-300x272.jpg 300w" sizes="(max-width: 554px) 100vw, 554px" />In the end, Machine Learning is not what most humans consider “learning.” It is driven by math, algorithms, and data. For those who aren’t fascinated by the math and theory of Machine Learning, this can destroy the mystique somewhat. Personally, although the Man Behind the Curtain is not what we might expect or desire, he is intriguing all the same. In fact, as computer scientists and cognitive scientists study Machine Learning more we start to suspect that there isn’t as much of a disconnect as we might suspect. We may think that Machine Learning is so unlike humanity, but it may be the case that humanity is more like Machine Learning than we suspect. Our own brains may be just like a cold math-algorithm-data amalgam, but on a massive and complex scales.</p>
<p><strong>The Importance of Data</strong></p>
<p>Data is a pillar of Machine Learning. Without data we cannot build anything. The math doesn’t change, and while we can build clever model structures to help with the learning process, without good data our models will fail. We luckily live in an age of data. Large amounts of data allow models to be extremely fine-tuned. It allows for advanced model structures like Deep Neural Networks. Publicly available data sets such as MNIST and ImageNet for image processing have allowed data scientists to easily compare models and share knowledge. Data is revolutionizing entire fields and Machine Learning is no exception.</p>
<p>But with great power comes great responsibility. If our data is not labeled well or if it is biased from how it is collected, that error or bias is directly injected into the model. After all, the model is simply trying to mimic the data used to create it. Bad data in, bad model out.</p>
<p>Biased data can lead to very poor model performance. For example, last year MIT Media Lab showed that facial recognition from Microsoft, IBM, and Face++ weren’t very good at identifying women or person’s with darker skin, most likely because they didn’t have enough examples of those types of faces in their training data.</p>
<p>So big data is great for our ability to model the world. But the purity and completeness of the data we use in Machine Learning should always be considered when building a model.</p>
<p><strong>The Future</strong></p>
<p>Well, Machine Learning is the future. Tasks that we do effortlessly as humans, such as processing sound and sight, are extraordinarily complicated. Without Machine Learning it would take monumental effort to create machines to do them effectively, and for the tasks that even we as humans find hard, machines would be hopeless. We live in the age of data and increasingly cheap computational power. Machine Learning is thriving and adapting. If you are interested in Machine Learning, check out this <a href="https://www.youtube.com/watch?v=fM1-qyUR-2U">video</a> for more insights.</p>
<p>And stay tuned for future blog posts on Machine Learning as we examine different applications and different models used.</p>
<p>READ MORE: <a href="https://www.megaputer.com/convolutional-neural-networks-polyanalyst/">Convolutional Neural Networks</a></p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/an-introduction-to-machine-learning/">An introduction to machine learning</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Thanks for attending the 2018 Megaputer Analytics Conference</title>
		<link>https://www.megaputer.com/analytics-conference-2018-thank-you/</link>
		<pubDate>Mon, 03 Dec 2018 22:32:38 +0000</pubDate>
		<dc:creator><![CDATA[Brian Howard]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data Analytics]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=26893</guid>
		<description><![CDATA[<p>Thank you to our conference attendees! We hope you took away great insights and had an enjoyable and memorable experience.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/analytics-conference-2018-thank-you/">Thanks for attending the 2018 Megaputer Analytics Conference</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<section class="l-section wpb_row height_small"><div class="l-section-h i-cf"><div class="g-cols vc_row type_default valign_middle"><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper"><div class="w-image align_center"><div class="w-image-h"><img width="600" height="400" src="https://www.megaputer.com/wp-content/uploads/dsc6109_sm.jpg" class="attachment-full size-full" alt="MiACON18 Presentation by CEO" srcset="https://www.megaputer.com/wp-content/uploads/dsc6109_sm.jpg 600w, https://www.megaputer.com/wp-content/uploads/dsc6109_sm-300x200.jpg 300w" sizes="(max-width: 600px) 100vw, 600px" /></div></div></div></div></div><div class="vc_col-sm-6 wpb_column vc_column_container"><div class="vc_column-inner"><div class="wpb_wrapper">
	<div class="wpb_text_column ">
		<div class="wpb_wrapper">
			<p>We had a great experience at the <a href="https://www.megaputer.com/event/analytics-conference-2018/" rel="noopener">Megaputer Analytics Conference</a> this year. Of course, this event would have been nothing special if it were not for the attending professionals whose engagement and contributions enhanced the content and discussion. A special thanks to the guest speakers for sharing their challenges faced and current applications developed using data and text analysis.</p>
<p>We appreciate all the feedback about how everyone enjoyed the interactive workshops, the food, and the gathering together each night for additional networking and fun.</p>
<p>We look forward to seeing each of you again next year!</p>

		</div>
	</div>
</div></div></div></div></div></section>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/analytics-conference-2018-thank-you/">Thanks for attending the 2018 Megaputer Analytics Conference</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>Flagging documents with timestamps after an event</title>
		<link>https://www.megaputer.com/flagging-documents-with-timestamps-after-an-event/</link>
		<pubDate>Mon, 19 Nov 2018 19:06:54 +0000</pubDate>
		<dc:creator><![CDATA[Rebecca Hale]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data Analytics]]></category>
		<category><![CDATA[Text Analytics]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=27046</guid>
		<description><![CDATA[<p>We have electronic medical records containing free text descriptions as well as structured information like patient IDs, hospital admission IDs, and date/time. One patient may have multiple additions to his or her medical record over the course of one hospital stay, so there may be several records with the same patient ID and hospital admission...</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/flagging-documents-with-timestamps-after-an-event/">Flagging documents with timestamps after an event</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>We have electronic medical records containing free text descriptions as well as structured information like patient IDs, hospital admission IDs, and date/time. One patient may have multiple additions to his or her medical record over the course of one hospital stay, so there may be several records with the same patient ID and hospital admission ID, but different notes and timestamps.</p>
<h2>The Problem</h2>
<p>We want to use free text in medical records to predict when a patient will develop sepsis. We know which patients were eventually billed for a sepsis diagnosis, but we don’t want to include notes that were written <em>after</em> the patient developed sepsis, or we might discover useless predictors like “began course of antibiotics for treatment of sepsis”. Once sepsis is suspected, the data is no longer useful for early prediction. <strong>How can we remove the records that mention sepsis, as well as all the patient’s other records with later timestamps, even if the later notes do not directly mention sepsis?</strong></p>
<h2>The Plan</h2>
<p>We are going to solve this problem using <a href="https://www.megaputer.com/polyanalyst/">PolyAnalyst</a>, Megaputer’s data processing software. The following is a screenshot of a flowchart built using the software. The icons represent individual processing steps. Each icon is described below.</p>
<p><img class="aligncenter" src="https://www.megaputer.com/wp-content/uploads/sepsis-blog-post.png" /></p>
<ol>
<li>Begin with a dataset of electronic medical records. I’ll use a small sample for testing my workflow first. <em>Node: Sample.</em></li>
<li>Search for mentions of sepsis in the text, and get a subset containing just those records. These will serve as the cutoff times for the patients they represent. Remember, we want to keep only the notes that the patient received <em>before</em>this time. <em>Node: Search Query and Search Query Subset. The latter can be created by right-clicking on the relevant query in the Search Query node and selecting “Create subset”.</em></li>
<li>Sort the records by time: earliest dates first. <em>Node: Sort Rows.</em></li>
<li>Create a new column for timestamp information in each row, called “Earliest Sepsis Mention”. In our case, some timestamp entries were empty and needed to be filled with a more general date. <em>Node: Derive.</em></li>
<li>For any patient ID / hospital admission ID pair, keep only the first record. You now have a list of patients, each with a value in a column called “Earliest Sepsis Mention,” containing the timestamp for the first record that mentions their sepsis. <em>Node: Aggregate.</em></li>
<li>Join this dataset (right) with your original dataset (left). Use a left outer join so that for every record in your original dataset, it checks your new list to see if there is a matching patient and hospital admission ID. If there is, it will add in the new information: the timestamp of that patient’s Earliest Sepsis Mention. If that patient and hospital admission are not in the new list (they never had sepsis mentioned in their notes), the Earliest Sepsis Mention will remain blank. <em>Node: Join.</em></li>
<li>Now for the easy part! Filter rows so that you only keep the records with an empty value in Earliest Sepsis Mention, or where the record’s timestamp is an earlier time than that patient’s Earliest Sepsis Mention. <em>Node: Filter Rows.</em></li>
</ol>
<h2>The Result</h2>
<p>We searched our data for mentions of sepsis, selected the earliest record for each patient in that list, then applied that answer to all patient records in our original dataset. From there, it was easy to compare the medical note timestamp with the timestamp of the first time sepsis was ever mentioned for that patient, meaning we have a new, smaller dataset where we have eliminated all of the records mentioning sepsis, as well as those patients’ later follow-up records.</p>
<p>In short, we flagged all patient records with timestamps after a particular event in their medical record, so they could be removed from our training data.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/flagging-documents-with-timestamps-after-an-event/">Flagging documents with timestamps after an event</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
		<item>
		<title>What is self-documenting analysis?</title>
		<link>https://www.megaputer.com/value-of-self-documenting-analysis/</link>
		<pubDate>Wed, 20 Jun 2018 17:00:10 +0000</pubDate>
		<dc:creator><![CDATA[Josh Froelich]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Data Analytics]]></category>

		<guid isPermaLink="false">https://www.megaputer.com/?p=21605</guid>
		<description><![CDATA[<p>One of the best techniques for avoiding technical debt is proper documentation. But that is tedious. PolyAnalyst's self-documenting approach can help.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/value-of-self-documenting-analysis/">What is self-documenting analysis?</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>A classical annoyance of data analysis is the extra work required to properly record what you have done. Despite benefits of enabling others to pick up where you left off, or to help you revisit your work and still understand it later, the tedium of proper documentation tends to result in little to no documentation whatsoever. Subsequently, failure to document forms <strong>technical debt</strong>. The value of your acquired insight is reduced when you have trouble explaining your results and have trouble recreating findings.</p>
<h2>What is technical debt?</h2>
<p>Technical debt is an obtuse term and thus has multiple definitions depending on the context in which it is used. Essentially, it refers to starting a project and not truly finishing it.</p>
<p>The debt that arises from lack of documentation represents a hidden cost to analyzing data without taking the time to explain the process. This debt only materializes later, once the analytical objectives shift or the analysis must be performed again. Encountering a &#8220;What was I thinking?&#8221; moment requires you to retrace your steps.</p>
<p>Separately, yet similarly ominous, is the widespread problem of not explaining the work. Perhaps it is an artifact of academia, or intellectual hubris. Our goal at Megaputer is to re-envision that cost-benefit analysis that an analyst undertakes when deciding whether to document, and make the costs smaller and the benefits larger.</p>
<h2>Avoiding technical debt</h2>
<p>One of the first steps is recognizing that data analysis is a process that not only must be created, but also maintained over time. We think the answer lies in making analysis <em>self-documenting</em><span id='easy-footnote-1-21605' class='easy-footnote-margin-adjust'></span><span class='easy-footnote'><a href='https://www.megaputer.com/value-of-self-documenting-analysis/#easy-footnote-bottom-1-21605' title='See, e.g., &lt;a href=&quot;https://en.wikipedia.org/wiki/Self-documenting_code&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://en.wikipedia.org/wiki/Self-documenting_code&lt;/a&gt;'><sup>1</sup></a></span>. An analysis becomes self-documenting when there is no additional effort required to generate the documentation of that analysis. Merely by performing the work, the documentation materializes. Personified, this is similar to living a life that is autobiographical. There is no need to hire a biographer towards the end, as the act of living itself memorializes life.</p>
<p>We designed <a href="https://www.megaputer.com/polyanalyst/">PolyAnalyst</a> with this principle in mind. Merely by using PolyAnalyst to generate analytical results, a journal of your work is recorded. Not simply a textual log, however. Analysis is done by performing individual analytical steps that you compose together to form an analytical step sequence. A step might be something as simple as moving data from one database to another, or changing around the columns and rows of a table, or generating a machine learning model. This overall sequence (or set of sequences) comprises your analysis. The act of adding a step to the sequence is concurrently the act of curating your record of the steps you have done. In naming the step appropriately, you describe what the step does. Moreover, this overhead of naming steps and sequencing steps is simple. There is very little if any extra burden imposed on you. Indirectly, you are making the decisions of how to explain your work to others upfront, immediately, when you decide to undertake a particular analytical step.</p>
<p>By baking the requirements of documentation into the approach, your work becomes naturally self-documenting. We think this is a vital feature in the design of an analytical product. Analytical results do not speak for themselves, they must be accompanied by explanation, and we have designed PolyAnalyst to simplify the task of generating such explanation. When the insights you have generated are easily explainable and readily modifiable, then you have designed with the future in mind, leaving you better equipped to tackle your future analytical tasks, or revisit and old one and pick up right where you left off.</p>
<p>The post <a rel="nofollow" href="https://www.megaputer.com/value-of-self-documenting-analysis/">What is self-documenting analysis?</a> appeared first on <a rel="nofollow" href="https://www.megaputer.com">Megaputer Intelligence</a>.</p>
]]></content:encoded>
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/

Page Caching using disk: enhanced 
Minified using disk

Served from: www.megaputer.com @ 2026-06-22 06:50:12 by W3 Total Cache
-->